在Zookeeper 集群环境下只要一半以上的机器正常启动了,那么Zookeeper 服务将是可用的。因此,集群上部署Zookeeper 最好使用奇数台机器,这样如果有5 台机器,只要3 台正常工作则服务将正常。在目前的实际生产环境中,一个Hadoop 集群最多有三台节点做备用master,即并不是所有节点都安装ZooKeeper;如果以实验为目的,可以将所有节点都安装ZooKeeper 并作为master 使用。
本书使用的ZooKeeper 版本是zooker-3-4-5.tar.gz,可以在Apache 的官网下载,下载地址为http://apache.fayea.com/zookeeper/。
一、解压
将下载好的ZooKeeper 文件上传到Hadoop 集群中的master 节点,使用命令"tar-zxvf zookeeper-3.4.5.tar.gz -C /hadoop/"将其解压。
二、配置zoo.cfg
1.创建文件夹
mkdir /hadoop/ zookeeper-3.4.5/data /hadoop/ zookeeper-3.4.5/log
2.进入zookeeper 的conf 目录修改zoo.cfg
cp zoo_sample.cfg zoo.cfg
修改zoo.cfg 的内容为:
dataDir=/hadoop/zookeeper-3.4.5/data
dataLogDir=/hadoop/zookeeper-3.4.5/log
server.0=192.168.254.128:2888:3888
server.1=192.168.254.129:2888:3888
server.2=192.168.254.131:2888:3888(www.daowen.com)
除了dataDir 的内容为修改外,其他配置信息均为新增。
3.在/hadoop/zookeeper-3.4.5/data 文件夹下创建myid 文件,将其值修改为0。需要注意的是,server.后面的数值必须和=后面IP 中的myid 值保持一致,即IP 为192.168.149.129 的节点中myid 的值必须为1,IP 为192.168.149.131 的节点中myid的值必须为2。
4.分发到slave1 和slave2 节点
scp -r /hadoop/zookeeper-3.4.5/ slave1:/hadoop/
scp -r /hadoop/zookeeper-3.4.5/ slave2:/hadoop/
三、修改三个节点的环境变量
在PATH 值末尾添加/hadoop/zookeeper-3.4.5/bin。
四、测试
在三个节点上分别运行zkServer.sh start,启动后可以通过zkServer.sh status查看ZooKeeper 的运行状态,其中只能有一个节点充当leader,其余所有节点均为follower。ZooKeeper 的进程名叫QuorumPeerMain,如图5-2,5-3,5-4 所示:
图5-2 master 节点ZooKeeper 运行状况
图5-3 slave1 节点ZooKeeper 运行状况
图5-4 slave2 节点ZooKeeper 运行状况
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。