zookeeper集群搭建指的是ZooKeeper分布式模式安装。通常由2n+1台servers组成。这是因为为了保证Leader选举(基于Paxos算法的实现)能够得到多数的支持,所以ZooKeeper集群的数量一般为奇数。
下载zookeeeper的压缩包 http://archive.cloudera.com/cdh5/cdh/5/
我们在这个网址下载我们使用的zk版本为zookeeper-3.4.5-cdh5.14.2.tar.gz
解压zookeeeper node01执行解压命令,将zookeeper的压缩包解压到node01服务器的/opt/module/路径下去,然后准备进行安装。
1 2 cd /opt/software/ tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /opt/module/
修改node01配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 cd /opt/module/zookeeper-3.4.5-cdh5.14.2/conf cp zoo_sample.cfg zoo.cfg mkdir -p /opt/module/zookeeper-3.4.5-cdh5.14.2/zkdatas # 修改属性配置 vim zoo.cfg # 配置如下 dataDir=/opt/module/zookeeper-3.4.5-cdh5.14.2/zkdatas autopurge.snapRetainCount=3 autopurge.purgeInterval=1 #文件末尾增加如下三行 server.1=node01:2888:3888 server.2=node02:2888:3888 server.3=node03:2888:3888
安装包分发 在node01服务器上执行以下命令:
1 2 scp -r /opt/module/zookeeper-3.4.5-cdh5.14.2/ node02:/opt/module/ scp -r /opt/module/zookeeper-3.4.5-cdh5.14.2/ node03:/opt/module/
修改myid的值 分别在zookeeper集群每台服务器上,node01、node02、node03上修改myid值。
1 2 3 4 5 6 7 8 node01 server: echo 1 > opt/module/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid node02 server: echo 2 > opt/module/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid node03 server: echo 3 > opt/module/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
配置环境变量 分别在zookeeper集群每台服务器上,node01、node02、node03上修改配置~/.bash_profile文件。
1 2 3 4 5 6 7 vim ~/.bash_profile export ZK_HOME=/opt/module/zookeeper-3.4.5-cdh5.14.2 export PATH=$PATH:$ZK_HOME/bin 三台节点,让新添环境变量生效(hadoop用户下执行) source ~/.bash_profile
三台机器启动zookeeper服务 分别在zookeeper集群每台服务器上,node01、node02、node03上启动zookeeper。
查看启动状态 分别在zookeeper集群每台服务器上运行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 zkServer.sh status [hadoop@node01 software]$ zkServer.sh status JMX enabled by default Using config: /opt/module/zookeeper-3.4.5-cdh5.14.2/bin/../conf/zoo.cfg Mode: follower [hadoop@node02 ~]$ zkServer.sh status JMX enabled by default Using config: /opt/module/zookeeper-3.4.5-cdh5.14.2/bin/../conf/zoo.cfg Mode: leader [hadoop@node03 ~]$ zkServer.sh status JMX enabled by default Using config: /opt/module/zookeeper-3.4.5-cdh5.14.2/bin/../conf/zoo.cfg Mode: follower
zkServer的状态要么是follower,要么是leader。三个节点中,一个节点为leader,另外两个为follower
如何关闭zookeeper集群 分别在zookeeper集群每台服务器上运行。
特殊说明: 三台机器一定要保证时钟同步。 关闭虚拟机前,要在每个zookeeper服务器中使用zkServer.sh stop
命令,关闭zookeeper服务器,否则,可能集群出问题。