-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall_zk.sh
executable file
·52 lines (42 loc) · 1.66 KB
/
install_zk.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash
#title :zookeeper-install.sh
#description :The script to install zookeeper 0.8.x
#author :Motty Cohen
#date :05-Feb-2015
#usage :/bin/bash install-zookeeper.sh
#https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
ZOOKEEPER_FILENAME=apache-zookeeper-$ZOOKEEPER_VERSION-bin
ZOOKEEPER_ARCHIVE_NAME=$ZOOKEEPER_FILENAME.tar.gz
ZOOKEEPER_DOWNLOAD_ADDRESS=https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/$ZOOKEEPER_ARCHIVE_NAME
INSTALL_DIR=/opt
ZOOKEEPER_FULL_DIR=$INSTALL_DIR/$ZOOKEEPER_FILENAME
ZOOKEEPER_DIR=$INSTALL_DIR/zookeeper
ZOOKEEPER_SERVICE=zookeeper
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root."
exit 1
fi
echo "Downloading: $ZOOKEEPER_DOWNLOAD_ADDRESS..."
[ -e "$ZOOKEEPER_ARCHIVE_NAME" ] && echo 'zookeeper archive already exists.'
if [ ! -e "$ZOOKEEPER_ARCHIVE_NAME" ]; then
wget -q $ZOOKEEPER_DOWNLOAD_ADDRESS
if [ $? -ne 0 ]; then
echo "Not possible to download zookeeper."
exit 1
fi
fi
echo "Cleaning up..."
rm -f "$ZOOKEEPER_DIR"
rm -rf "$ZOOKEEPER_FULL_DIR"
rm -rf "/var/run/$ZOOKEEPER_SERVICE/"
rm -f "/etc/init.d/$ZOOKEEPER_SERVICE"
echo "Installation to $ZOOKEEPER_FULL_DIR ..."
mkdir $ZOOKEEPER_FULL_DIR
tar -xzvf $ZOOKEEPER_ARCHIVE_NAME -C $INSTALL_DIR
echo "Creating symbolic link: to $ZOOKEEPER_DIR ..."
ln -s $ZOOKEEPER_FULL_DIR/ $ZOOKEEPER_DIR
cp $ZOOKEEPER_DIR/conf/zoo_sample.cfg $ZOOKEEPER_DIR/conf/zoo.cfg
echo "JAVA_HOME=$JAVA_HOME" >> $ZOOKEEPER_DIR/conf/java.env
echo "Cleaning archive..."
rm -f "$ZOOKEEPER_ARCHIVE_NAME"