在本集群的每个节点上都安装Zookeeper,再修改配置为集群
1.1 解压安装
下载zookeeper-3.4.10.tar.gz,上传到目录/usr/local/zookeeper
解压,删除安装包
tar zookeeper-3.4.10.tar.gz
rm -rf zookeeper-3.4.10.tar.gz
进入目录 /usr/local/zookeeper/zookeeper-3.4.10 ,新建两个目录:
cd zookeeper-3.4.10/
mkdir data
mkdir dataLog
1.2 配置环境变量
vim /etc/profile
添加zookeeper的安装路径
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile
1.3 创建myid文件
在data目录下创建一个名为myid的文件,并进行编辑
cd data
touch myid
vim myid
myid文件中编辑一个数字,该数字为每个节点对应的服务器编号,该集群中master为10,slaver1为11,slaver2为12,slaver3为13,slaver4为14,slaver5为15
如下图为master的myid中的内容:
1.4 修改配置文件zoo.cfg
该配置每个节点都一样
cd /usr/local/zookeeper/zookeeper-3.4.10/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
在该文件中将dataDir的路径修改了,再添加一些配置,如下:
dataDir=/usr/local/zookeeper/zookeeper-3.4.10/data
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.10/dataLog
server.10=master:2888:3888
server.11=slaver1:2888:3888
server.12=slaver2:2888:3888
server.13=slaver3:2888:3888
server.14=slaver4:2888:3888
server.15=slaver5:2888:3888
其中server.x中的x为上面myid中配置的各个节点的服务号,2888和3888为服务端口,如果没有占用则不需要修改。
1.5 分发
将master的安装目录复制分发到其他节点
cd /usr/local
scp -r zookeeper slaver1:/usr/local/
scp -r zookeeper slaver2:/usr/local/
scp -r zookeeper slaver3:/usr/local/
scp -r zookeeper slaver4:/usr/local/
scp -r zookeeper slaver5:/usr/local/
分别对每个节点进行修改:添加环境变量,修改myid文件
2.1启动zookeeper集群
首先要保证Hadoop集群已经成功启动并正常运行,再启动zookeeper。
分别在每个节点上执行启动命令,启动顺序无关紧要,也没必要说一台启动完成后在去启动另外一台,随意就行。
cd /usr/local/zookeeper/zookeeper-3.4.10/bin/
zkServer.sh start
查看状态:
zkServer.sh status
集群中会产生一个leader,其余的均为follower
第一次启动zookeeper的时候,启动第一节点的zookeeper时,会显示失败,是因为zookeeper不能只在一台服务器上运行,接着启动其他的节点的zookeeper后,查看状态就会成功。
下次开机启动start-all.sh 时,zookeeper会随着Hadoop启动,不用专门执行zookeeper启动命令。
2.2 测试
查看进程
[root@master clusters_manger_bash]# ./jps_start.sh
------------------------------[ jps master ]-------------------------
3536 NameNode
4033 ResourceManager
3843 SecondaryNameNode
4148 NodeManager
3195 MainGenericRunner
3660 DataNode
4509 QuorumPeerMain
4894 Jps
------------------------------[ jps slaver1 ]-------------------------
15204 NodeManager
2666 DataNode
4282 QuorumPeerMain
15566 Jps
------------------------------[ jps slaver2 ]-------------------------
2516 DataNode
15062 NodeManager
15404 Jps
4109 QuorumPeerMain
------------------------------[ jps slaver3 ]-------------------------
2529 DataNode
14738 NodeManager
15013 Jps
3862 QuorumPeerMain
------------------------------[ jps slaver4 ]-------------------------
17412 NodeManager
2518 DataNode
4807 QuorumPeerMain
17693 Jps
------------------------------[ jps slaver5 ]-------------------------
2513 DataNode
14674 NodeManager
3763 QuorumPeerMain
14942 Jps