Bash 安装Java & Zookeeper 脚本

204 阅读1分钟
#!/bin/bash
set -e

# format: 127.0.0.1:1,0.0.0.0:2 1
HOSTNAMELIST=$1
MYID=$2
WGET_URL=$3

PACKAGE_PATH=/tmp
ZK_PKG=zookeeper-3.4.14
ZK_TAR=zookeeper-3.4.14.tar.gz

source /etc/profile

wget ${WGET_URL}/${ZK_TAR} -P ${PACKAGE_PATH}/


# configure zookeeper
mkdir -p /zookeeper/
tar -zxf ${PACKAGE_PATH}/${ZK_PKG}.tar.gz -C /zookeeper/
sed -i '$a\export ZOOKEEPER_HOME=/zookeeper/'"${ZK_PKG}"'' /etc/profile
sed -i '$a\export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH' /etc/profile
cp /zookeeper/${ZK_PKG}/conf/zoo_sample.cfg  /zookeeper/${ZK_PKG}/conf/zoo.cfg
mkdir -p /zookeeper/${ZK_PKG}/data
sed -i 's/dataDir=\/tmp\/zookeeper/dataDir=\/zookeeper\/'"${ZK_PKG}"'\/data/g' /zookeeper/${ZK_PKG}/conf/zoo.cfg

for ITEM in ${#arr[@]}
do
  ITEMARR=(${str//:/ })
  
done

arr=(${HOSTNAMELIST//,/ })
for item in ${arr[@]}
do
  itemarr=(${item//:/ })
  hostIP=${itemarr[0]}
  index=${itemarr[1]}
  sed -i '$a\server.'"$index"'='"$hostIP"':2888:3888' /zookeeper/${ZK_PKG}/conf/zoo.cfg
done

echo ${MYID} >> /zookeeper/${ZK_PKG}/data/myid

source /etc/profile
sleep 1
/zookeeper/${ZK_PKG}/bin/zkServer.sh start
sleep 1
/zookeeper/${ZK_PKG}/bin/zkServer.sh status