linux 安装配置zookeeper脚本

#!/bin/bash

# automatic install zookeeper
echo "========= Start to install zookeeper =============="
function install_zk(){
    if [ -f "./zookeeper-3.4.12.tar.gz" ];then
     echo "Start installing zookeeper"
    
     mkdir -p /opt/ops/zookeeper/zkdata
     mkdir -p /opt/ops/zookeeper/datalogs
     mkdir -p /opt/ops/zookeeper/log4j
     zkrootpath=/opt/ops/zookeeper
     zkhome=$zkrootpath/zookeeper-3.4.12
     zklog=$zkrootpath/log4j
    
     tar -zxf zookeeper-3.4.12.tar.gz -C $zkrootpath
     mv $zkhome/conf/zoo_sample.cfg $zkhome/conf/zoo.cfg
     # Modify the normal log output path
     sed -i "s@zookeeper.log.dir=.@zookeeper.log.dir=$zklog@g" $zkhome/conf/log4j.properties
     sed -i "s@ZOO_LOG_DIR=.*@ZOO_LOG_DIR="$zklog"@g" $zkhome/bin/zkEnv.sh
     sed -i "s@ZOO_LOG4J_PROP=.*@ZOO_LOG4J_PROP="INFO,ROLLINGFILE"@g" $zkhome/bin/zkEnv.sh

     # Modify the data Log Output Path
     sed -i "s@dataDir=/tmp/zookeeper@dataDir=$zkrootpath/zkdata@g" $zkhome/conf/zoo.cfg
     localip=$(/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:")
cat >> $zkhome/conf/zoo.cfg << EOF
dataLogDir=$zkrootpath/datalogs
server.0=$localip:2287:3387
EOF
     echo 0 > $zkrootpath/zkdata/myid
    
    else
     echo "Failed to install zookeeper"
     echo "Missing 'zookeeper-3.4.12.tar.gz' file in statistical catalogue"
    fi
}

if [ -d "/opt/ops/zookeeper" ];then
echo "Zookeeper has been installed "
else
install_zk
fi
echo "========= End installation of zookeeper ==========="
原文地址:https://www.cnblogs.com/donfaquir/p/10540801.html