=Zookeeper集群环境配置=======================
一.集群环境搭建
为保证集群高可用,Zookeeper 集群的节点数最好是奇数,最少有三个节点,所以这里演示搭建一个三个节点的集群。这里我使用三台主机进行搭建,主机名分别为 master,hadoop002,hadoop003。
zookeeper集群运行需要jdk
1.解压zookeeper
tar -zxvf zookeeper-3.4.5.tar.gz
2.修改配置文件 zoo.cfg
将zookeeper压缩文件解压后,我们进入到 conf 目录:
将 zoo_sample.cfg 文件复制并重命名为 zoo.cfg 文件。
cp zoo_sample.cfg zoo.cfg
然后通过 vim zoo.cfg 命令对该文件进行修改:
dataDir=/opt/zookeeper3.4/data(data需手动创建)
server.0=192.168.10.10:2888:3888
server.1=192.168.10.20:2888:3888
server.2=192.168.10.30:2888:3888
3.创建 myid 文件
在 上一步 dataDir 指定的目录下(data),创建 myid 文件。
该文件添加上一步 server 配置的对应 A 数字。
该文件中写上 0 即可
后面的机器依次在相应目录创建myid文件,写上相应配置数字即可。(0,1,2)
分发给子节点:
rsync -av /opt/zookeeper3.4 hadoop002:/opt/
rsync -av /opt/zookeeper3.4 hadoop003:/opt/
子节点的myid文件再进行修改
4.配置环境变量
为了能够在任意目录启动zookeeper集群,我们需要配置环境变量。
/etc/profile
export ZK_HOME=/opt/zookeeper3.4
export PATH=$PATH:$ZK_HOME/bin
环境变量生效
source /etc/profle
将环境分发给子节点:
rsync -av /opt/zookeeper3.4 hadoop002:/etc/profile
rsync -av /opt/zookeeper3.4 hadoop003:/etc/profile
5.启动zookeeper服务
(1).启动命令:
zkServer.sh start
(2).停止命令:
zkServer.sh stop
(3).重启命令:
zkServer.sh restart
(4).查看集群节点状态:
zkServer.sh status
6.所有节点启动
zkServer.sh start
7.查看jps:
QuorumPeerMain
8.查看集群节点状态:
zkServer.sh status
master:follower
hadoop002:leader
hadoop003:follower
三台机器,hadoop002 成功的通过了选举称为了leader,而剩下的两台成为了 follower。这时候,如果你将hadoop002关掉,会发现剩下两台又会有一台变成了 leader节点。
9.搭建问题
如果没有出现上面的状态,说明搭建过程出了问题
①、防火墙为关闭
查看防火墙状态:
service iptables status
关闭防火墙:
chkconfig iptables off
②、dataDir 配置的目录没有创建
在 zoo.cfg 文件中,会有对 dataDir 的一项配置,需要创建该目录,
并且注意要在该目录下创建 myid 文件,里面的配置和zoo.cfg 的server.x 配置保持一致。
=========================================================================
参考资源:
https://www.cnblogs.com/ysocean/p/9860529.html