您的位置:首页 > 其它

flink集群一键安装脚本 -- kafka消息中间件依赖zookeeper集群安装脚本

2018-02-10 17:06 645 查看
#!/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集群搭建脚本后期补上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  flink zookeeper