解压安装zk:
三台机器ip分别为 192.168.56.101、102、103
在101上操作。
先下载zk的包,并传到101机器上,然后把zk的包拷贝到其他两台机器
scp -r apache-zookeeper-3.5.9-bin.tar.gz root@192.168.56.102:/usr/local scp -r apache-zookeeper-3.5.9-bin.tar.gz root@192.168.56.103:/usr/local
然后另外两台机器 cd /usr/local 能看到这个zk的tar包
三台机器分别执行
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz mv apache-zookeeper-3.5.9-bin /usr/local/zookeeper第二步
在101上配置zoo.cfg
cp zoo_sample.cfg zoo.cfg
然后编辑zoo.cfg
the directory where the snapshot is stored.do not use /tmp for storage, /tmp here is justexample sakes.
dataDir=/tmp/zookeeper
看注释 ,这里要改改为 dataDir=/var/lib/zookeeper/
然后配置三台主机的ip,配置完的配置文件内容如下:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/var/lib/zookeeper/ clientPort=2181 server.1=192.168.56.101:2888:3888 server.2=192.168.56.102:2888:3888 server.3=192.168.56.103:2888:3888
然后把该配置拷贝到另外两台主机上
scp -r zoo.cfg root@192.168.56.102://usr/local/zookeeper/conf scp -r zoo.cfg root@192.168.56.103://usr/local/zookeeper/conf第三步
填写myid
根据zoo.cfg里配置的
server.1=192.168.56.101:2888:3888 server.2=192.168.56.102:2888:3888 server.3=192.168.56.103:2888:3888
101的myid为1,102的myid为2,103的myid为3
myid设置的方式为 在dataDir=/var/lib/zookeeper/ 这个文件夹下建一个myid文件,里面填写对应的myid 1、2、3。三台机器都要设置一遍
没有这个文件夹可以创建一下
至此,zookeeper集群已经配置完毕,下面启动并验证集群。
第四步在这三台服务器中随便选择一个,进入zk的bin目录执行 sh zkServer.sh start ,三台服务器都需要手动执行一遍启动命令,启动zk服务
输出日志如下:
[root@localhost bin]# sh zkServer.sh start /usr/bin/java ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@localhost bin]#
代表zk启动成功
第五步验证zk启动是否正常
输入 telnet 127.0.0.1 2181
然后输入stat
提示 is not executed because it is not in the whitelist 参考博客 https://blog.csdn.net/x763795151/article/details/80599498 和https://blog.csdn.net/bird3014/article/details/92852726?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
看完博客知道需要在 zoo.cfg 配置白名单,配置完重启,再执行验证的命令就没有问题了。最终验证成功日志如下:
[root@localhost bin]# telnet 127.0.0.1 2181 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. stat Zookeeper version: 3.5.9-83df9301aa5c2a5d284a9940177808c01bc35cef, built on 01/06/2021 19:49 GMT Clients: /127.0.0.1:45458[0](queued=0,recved=1,sent=0) Latency min/avg/max: 0/0/0 Received: 1 Sent: 0 Connections: 1 Outstanding: 0 Zxid: 0x200000000 Mode: follower Node count: 5 Connection closed by foreign host.
zk的高级配置参考https://zookeeper.apache.org/doc/r3.5.9/zookeeperAdmin.html
自己再搞一份推荐的配置压测一下
可以通过jmx看zk的情况。
可以用shell加crontab定时清理日志快照等,用purgetxnlog工具
或者用zk自带的zkCleanup.sh



