准备工作:Java环境,免密登陆等基本配置的完成!这些在我Hadoop集群搭建中均已完成,这些不再赘述,当然在搭建zookeeper集群时不必准备Hadoop环境!zookeeper安装包,我的是zookeeper-3.4.12.tar.gz,三台虚拟机:
192.168.25.131 storm01
192.168.25.132 storm02
192.168.25.133 storm03
准备好这些之后,上传zookeeper安装包,上传完成之后,执行命令,将安装包放到/export/software目录下:
[root@storm01 ~]# mv zookeeper-3.4.12.tar.gz /export/software
之后解压安装包到/export/servers/zookeeper目录下:
[root@storm01 software]# tar -zxvf zookeeper-3.4.12.tar.gz -C /export/servers/zookeeper
之后配置zookeeper环境:
[root@storm01 ~]# vi /etc/profile
export ZOOKEEPER_HOME=/export/servers/zookeeper/zookeeper-3.4.12
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/sbin
执行命令:
[root@storm01 ~]# source /etc/profile
立即生效。
修改zoo.cfg配置文件。执行如下命令:
[root@storm01 ~]# cd /export/servers/zookeeper/zookeeper-3.4.12/conf
发现只有zoo_sample.cfg文件,接下来执行命令:
[root@storm01 conf]# cp zoo_sample.cfg zoo.cfg
随后执行命令:
[root@storm01 conf]# vi zoo.cfg
只需要修改如下内容:
dataDir=/export/zookeeper/data
dataLogDir=/export/zookeeper/log(这两个目录可提前创建)
然后再添加以下内容即可:
server.1=192.168.25.131:2888:3888
server.2=192.168.25.132:2888:3888
server.3=192.168.25.133:2888:3888
之后创建文件myid,该文件的位置在/export/zookeeper/data中,注意创建该文件并编辑该文件,该文件的内容为zoo.cfg该主机的IP对应的server.1的后面的数字,比如,当前主机IP为192.168.25.131,那么该主机的myid的内容为1.
以上配置三台服务器均要执行操作,这样的话zookeeper集群配置基本完成,接下来启动zookeeper集群,在每台服务器上执行如下命令:
[root@storm01 ~]# zkServer.sh start
之后执行命令:
[root@storm01 ~]# zkServer.sh status
查看zookeeper集群的状态,本人执行的结果为:
[root@storm01 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /export/servers/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: follower
[root@storm02 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /export/servers/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: leader
[root@storm03 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /export/servers/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: follower
可见zookeeper集群搭建成功!其中zookeeper集群中的leader是随机的,采用的轮询的机制选取的,不过一般都是选择第二个为leader。之后在每台主机上执行一下命令关闭zookeeper:
[root@storm03 ~]# zkServer.sh stop。
至此zookeeper集群搭建之旅完美结束!