感谢博主的分享:https://www.cnblogs.com/zjiacun/p/7598294.html
本文修正了博主的一些细节。
第一步:下载zookeeper:
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
第二步:修改配置:
解压文件后,在/zookeeper-3.4.10/conf/文件夹下,复制zoo_sample.cfg文件
分别命名为zoo1.cfgzoo2.cfgzoo3.cfg
修改配置信息:
zoo1.cfg: dataDir=/tmp/zookeeper/data_1 dataLogDir=/tmp/zookeeper/logs_1 server.0=localhost:2287:3387 server.1=localhost:2288:3388 server.2=localhost:2289:3389
clientPort=2181 zoo2.cfg: dataDir=/tmp/zookeeper/data_2 dataLogDir=/tmp/zookeeper/logs_2 server.0=localhost:2287:3387 server.1=localhost:2288:3388 server.2=localhost:2289:3389
clientPort=2182 zoo3.cfg: dataDir=/tmp/zookeeper/data_3 dataLogDir=/tmp/zookeeper/logs_3 server.0=localhost:2287:3387 server.1=localhost:2288:3388 server.2=localhost:2289:3389
clientPort=2183
在 /tmp/zookeeper/data_1目录自己手动建好,并且创建一个myid文件,以此类推:
对应data_1下的myid值为0,
对应data_2下的myid值为1,
对应data_3下的myid值为2,
第三步:启动:
在zookeeper-3.4.10目录下执行启动命令:
./bin/zkServer.sh start zoo1.cfg
没有报错的话就是启动成功了。
查看端口是否启动:
netstat -ntlp
同样启动:
./bin/zkServer.sh start zoo2.cfg ./bin/zkServer.sh start zoo3.cfg
查看集群间的关系:zoo1为follower,zoo2为leader,zoo3为follower
遇到过的问题:
Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
原是下载了zookeeper-3.5.5 的版本,版本不同的原因。使用3.4.14 版本是可行的。
最后外部 连接的话需要开放端口:
CentOS 7.0默认使用的是firewall作为防火墙
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service