1.集群规划
在ynyee、ynyee2、ynyee3这三个节点上部署Zookeeper。
2.解压安装
2.1 首先先上传Zookeeper到其中一个节点,我这里先上传到ynyee节点中的/opt/software中
2.2 把上传的Zookeeper安装包解压到到/opt/module/目录下
[root@ynyee software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
3.配置
3.1 进入解压后的Zookeeper里,创建一个data目录:
cd /opt/module/zookeeper-3.4.10/
mkdir data
3.2 在data目录下创建一个myid文件
touch myid
并输入一个1给他,表示这个是第几号服务器
echo 1 > myid
3.3 重命名/opt/module/zookeeper-3.4.10/conf这个目录下的zoo_sample.cfg为zoo.cfg
mv zoo_sample.cfg zoo.cfg
3.4 配置zoo.cfg文件
3.4.1 更改具体配置dataDir(这里的路径就是我们之前创建的data目录)
dataDir=/opt/module/zookeeper-3.4.10/data
3.4.2 添加如下配置
server.1=ynyee:2888:3888
server.2=ynyee2:2888:3888
server.3=ynyee3:2888:3888
解读: Server.A=B:C:D。 A是一个数字,表示这个是第几号服务器; B是这个服务器的ip地址;
C是这个服务器与集群中的Leader服务器交换信息的端口;
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
3.4.3 最后保存并退出,然后同步到另外两台机器
sh /root/bin/copy1.sh /opt/module/zookeeper-3.4.10/
我这里的copy1.sh是我自己写的同步配置文件,晚点给你们出一篇。
3.5 到另外两台修改他们的myid文件内容,分别改为 2 和 3,表示第2号服务器和第3号服务器
ynyee2节点的修改如下图所示:
ynyee3节点的修改如下图所示:
最后分别启动三个节点的Zookeeper
[root@ynyee zookeeper-3.4.10]# bin/zkServer.sh start
[root@ynyee2 zookeeper-3.4.10]# bin/zkServer.sh start
[root@ynyee3 zookeeper-3.4.10]# bin/zkServer.sh start
然后就完成啦!!
如果想看状态,用以下这个命令:
[root@ynyee zookeeper-3.4.10]# bin/zkServer.sh status
结果:
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/…/conf/zoo.cfg
Mode: follower
[root@ynyee2 zookeeper-3.4.10]# bin/zkServer.sh status
结果:
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/…/conf/zoo.cfg
Mode: leader
[root@ynyee3 zookeeper-3.4.5]# bin/zkServer.sh status
结果:
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/…/conf/zoo.cfg
Mode: follower
那就完成啦!!!