1、服务器环境:
物理服务器:3台 ;zookeeper集群节点3个,安装依赖java环境
IP | 部署服务 | 部署路径 | 脚本路径 |
192.168.1.1 | zookeeper | /opt/zookeeper | /opt/shell/zookeeper.sh |
192.168.1.2 | zookeeper | /opt/zookeeper | /opt/shell/zookeeper.sh |
192.168.1.3 | zookeeper | /opt/zookeeper | /opt/shell/zookeeper.sh |
2、解压zookeeper文件包(3台服务器执行)
tar -zxvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper
- 编辑zookeeper环境变量(3台服务器执行普通用户,如果是root保存/etc/profile)
echo -e "export ZOOKEEPER_HOME=/opt/zookeeper" >> ~/.bash_profile
echo -e "export PATH=.:$ZOOKEEPER_HOME/bin:$PATH" >> ~/.bash_profile
3、创建配置文件(3台服务执行)
mkdir -p /opt/zookeeper/data
mkdir -p /opt/zookeeper/logs
4、设置pid,A服务器--1 B服务器--2 C服务器--3,用来标识惟一当前机器
echo -e "1">/opt/zookeeper/data/myid #A服务器执行
echo -e "2">/opt/zookeeper/data/myid #B服务器执行
echo -e "3">/opt/zookeeper/data/myid #C服务器执行
5、配置文件
cp zoo_sample.cfg zoo.cfg
追加配置文件信息
echo -e "tickTime=2000\n\
initLimit=10\n\
syncLimit=5\n\
dataLogDir=/opt/zookeeper/logs\n\
dataDir=/opt/zookeeper/data\n\
clientPort=2181\n\
server.1=A服务器IP:2888:3888\n\
server.2= B服务器IP:2888:3888\n\
server.3= C服务器IP:2888:3888">/opt/zookeeper/conf/zoo.cfg
6、服务启动
/opt/zookeeper/bin/zkServer.sh start(三个节点都操作)
/opt/zookeeper/bin/zkServer.sh status ##服务状态查看
#A服务
#B服务
#C服务
7、服务启动脚本文件:
cat /opt/shell/server_jk.sh
#!/bin/bash
#应用服务进程监控启动脚本
#zookeeper目录
source /etc/profile
ZOOK_HOME=/opt/zookeeper
num=`ps -ef |grep -v grep |grep /build/classes:$ZOOK_HOME|wc -l`
if [ $num -ne 1 ];then
#关闭多余的进程
ps -ef |grep -v grep |grep /build/classes:$ZOOK_HOME|awk '{print $2}'| xargs kill -9
#启动zookeeper
/opt/zookeeper/bin/zkServer.sh start
fi
8、定时任务:
crontab -e
* * * * * /bin/sh /opt/shell/server_jk.sh > /dev/null 2>&1