1. 程式人生 > >flink叢集一鍵安裝指令碼 -- kafka訊息中介軟體依賴zookeeper叢集安裝指令碼

flink叢集一鍵安裝指令碼 -- kafka訊息中介軟體依賴zookeeper叢集安裝指令碼

#!/bin/sh

INSTALL_PATH="/usr/local/src/";
ZOOKEEPER_VERSION="3.4.11"
ZOOKEEPER_GZIP="zookeeper-${ZOOKEEPER_VERSION}.tar.gz";
ZOOKEEPER_CONF_DIR="${INSTALL_PATH}/zookeeper-${ZOOKEEPER_VERSION}/conf"
ZOOKEEPER_DATA_DIR="/tmp/zookeeper"
ETC_PROFILE="/etc/profile"

########## HELP ###########
if [ $# -ne 0 ];then
if [ $1"a" == "-ha" -o $1"a" == "-helpa" ];then echo -e " zookeeper安裝,預設版本${ZOOKEEPER_VERSION} 示例: ./zookeeper.sh # 啟動本地模式,不修改任何配置 ./zookeeper.sh 1 server1,server2,server3 ... # 啟動叢集模式,修改zookeeper的配置,1表示第一個server ./zookeeper.sh -u 3.4.11 # 更新版本號 "
; exit 0; fi if [ $1"a" == "-ua" ];then if [ -n $2 ];then echo "未知的版本號"; exit 0; else ZOOKEEPER_VERSION=${2} fi fi fi ############# zookeeper安裝 ############## if [ ! -f ${ZOOKEEPER_GZIP} ];then wget http://www-eu.apache.org/dist/zookeeper/zookeeper-${ZOOKEEPER_VERSION}
/${ZOOKEEPER_GZIP} fi; tar xzf ${ZOOKEEPER_GZIP} -C ${INSTALL_PATH} # 解壓檔案 if [ $? -ne 0 ];then exit 1; fi; ZOOKEEPER_HOME="${INSTALL_PATH}/zookeeper-${ZOOKEEPER_VERSION}"; sed -i "/^export ZOOKEEPER_HOME=/d" ${ETC_PROFILE}; sed -i "/^export PATH=\$ZOOKEEPER_HOME\/bin:\$PATH/d" ${ETC_PROFILE}; echo -e "export ZOOKEEPER_HOME=${ZOOKEEPER_HOME}" >> ${ETC_PROFILE}; echo -e "export PATH=\$ZOOKEEPER_HOME/bin:\$PATH\n" >> ${ETC_PROFILE}; # 修改配置檔案 cp ${ZOOKEEPER_CONF_DIR}/zoo_sample.cfg ${ZOOKEEPER_CONF_DIR}/zoo.cfg if [ ! -d ${ZOOKEEPER_DATA_DIR} ];then mkdir -p ${ZOOKEEPER_DATA_DIR}; fi if [ $# -eq 2 ];then let COUNT=0; ARR=(${2//,/ }) for i in ${ARR[@]};do COUNT=$[ $COUNT + 1 ]; HOST_ARR=(${i//./ }); SERVER_ID=${HOST_ARR[3]}; echo -e "server.${SERVER_ID}=${i}:2888:3888" >> ${ZOOKEEPER_CONF_DIR}/zoo.cfg; if [ $COUNT -eq $1 -a ];then echo ${SERVER_ID} >> ${ZOOKEEPER_DATA_DIR}/myid # 建立mypid檔案,並寫入當前broker_id號 fi; done exit 1; fi; # 啟動zookeeper ${ZOOKEEPER_HOME}/bin/zkServer.sh start # 啟動zookeeper if [ $? -eq 0 ];then sleep 2; jps # 檢測zookeeper是否正常啟動 fi

flink叢集搭建指令碼後期補上。