以下配置所以机器节点都需要: 可以使用 scp -rp root@slave1:/usr/local/src命令远程拷贝到其它节点机子上
-
解压zookeeper安装压缩包
-
将zookeeper的bin目录设置到~/.bashrc环境变量中
-
source ~/.bashrc 使设置的环境变量生效
-
修改zookeeper配置,进入zookeeper的conf目录 mv zoo-sample.cfg zoo.cfg,重命名这个配置文件。
-
编辑zoo.cfg, 修改dataDir=/usr/local/src/zookeeper-3.4.11/data的目录路径
-
编辑zoo.cfg,底部加入:
server.0=192.168.241.20:2888:3888 server.1=192.168.241.21:2888:3888 server.2=192.168.241.22:2888:3888
server.0 启动 0表示节点机器的id号,对应后面节点机器的ip,和zookeeper通信的端口2888 3888
-
在zookeeper的目录下,新建一个文件夹data mkdir data, 同时在data文件夹中新建一个文件myid,并编辑:(所有节点)
ip为192.168.241.20的节点机器myid文件中编辑id为 0; ip为192.168.241.21的节点机器myid文件中编辑id为 1; ip为192.168.241.22的节点机器myid文件中编辑id为 2;
-
开启端口通信的防火墙: (所有节点)
[root@localhost zookeeper-3.4.11]# firewall-cmd --zone=public --add-port=2888/tcp --permanent success [root@localhost zookeeper-3.4.11]# firewall-cmd --zone=public --add-port=3888/tcp --permanent success [root@localhost zookeeper-3.4.11]# systemctl restart firewalld
-
关闭防火墙: (所有节点)
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
-
开启zookeeper集群(所有节点)
zkServer.sh start
提示:
ZooKeeper JMX enabled by default Using config: /usr/local/src/zookeeper-3.4.11/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
-
查看zookeeper启动状态(所有节点)
zkServer.sh status
提示:
ZooKeeper JMX enabled by default Using config: /usr/local/src/zookeeper-3.4.11/bin/../conf/zoo.cfg Mode: follower (zookeeper的从节点) Mode: leader (zookeeper的主节点)
jps命令查看:启动成功的节点会有:QuorumPeerMain进程
-
出现报错信息
Error contacting service. It is probably not running.
表示:
- 防火墙没有关闭。
- myid中的id号和 zoo.cfg中设置的机器节点的server.x不对应。
- 整个集群的节点,需要超过半数以上的机器都启动zookeeper,才能成功启动zookeeper。