第一步:上传zookeeper.jar.gz文件至一台虚拟机,并解压至 /root/apps 目录下(如没有该目录则手动创建)
第二步:进入在/root/apps/zookeeper目录下 ,删除不必要文件 rm -rf .txt .xml docs dist-maven src
第三步: 进入 /zookeeper/conf 拷贝一份.cfg文件,cp zoo_sample.cfg zoo.cfg
第四步:修改zoo.cfg文件中 dataDir=/root/zkdata 用于指向当前机器的myid 用于投票哪台设备作为leader
在最后一行添加三行制定的id的设备名称以及端口
server.1=mini2:2888:3888
server.2=mini3:2888:3888
server.3=mini2:2888:3888
2888 端口是follow 和leader 的通信端口
3888 端口是投票决定leader 和follow 的端口
第五步:将修改好的zookeeper文件使用scp命令发送到每一台虚拟机
scp -r /root/apps/zookeer mini3:/root/apps
scp -r /root/apps/zookeer mini4:/root/apps
第六步:开启所有窗口都执行同一条命令的窗口
点击view,将Commond window 勾选
此时命令窗口下方出现一个新的窗口,右击send common to all session
第七步:在第六步的环境下,在所有机器的root目录下创建一个zkdata文件夹,在此文件夹中创建一个myid文件,并修 改此文件内容为zoo.cfg文件中对应的myid号
mkdir /root/zkdata
echo 1 > /root/zkdata/myid
最后切换至每一台修改制定id
vi myid
第八步:启动zookeeper
cd /root/apps/zookeer
执行zookeeper
bin/zkServer.sh
start
观察每一台设备的主从关系
bin/zkServer.sh
status
提示 Mode: follower 或者Mode: leader 为启动成功
补充:leader选举除了看启动顺序的id号和半数以上选举外(数据中间)还看zookpeer版本号