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