分布式集群手操 – Zookeeper搭建

Zookeeper的分布式集群搭建示例,搭建环境以Hadoop的集群搭建示例为基础,只是集群系列搭建实例的顺序安排,二者并不存在依赖关系。

准备

安装参考Hadoop集群搭建的Hadoop下载流程,tar.gz文件解压即可,主要过程集中在配置上。

配置

进入Zookeeper配置文件目录(*./conf*)

拷贝zoo_sample.cfg文件为zoo.cfg文件,并修改该文件的如下内容(添加或修改配置项):

zoo.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/bigdata/services/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# log file directory
dataLogDir=~/app/zookeeper/log
# servers set
# server.X=server_ip:port1:port2
# X -Server的ID
# server_ip -Server的IP地址
# port1 -该Server和集群中的leader交换信息使用的端口
# port2 -选举leader使用的端口
server.1=hdfs1:5088:6088
server.2=hdfs2:5088:6088
server.3=hdfs3:5088:6088
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60

Zookeeper配置很简单,至此,就可以将Zookeeper分发到其他子节点了。

调整

在各节点创建dataDir配置项指定的目录,并在该目录下创建名为myid的文件,创建方法为输出当前节点在Zookeeper配置文件服务器集群配置项的集群Id至该文件即可,例如在hdfs3节点,由于配置文件指定该节点服务器Id为3,故使用命令:

1
echo 3 > /home/bigdata/services/tmp/zookeeper/myid

启动

1
2
bin/zkServer.sh start   #启动Zookeeper
bin/zkServer.sh status #查看阶段状态

启动后若状态显示Error contacting service. It is probably not running. 原因有二:

  • 未按要求设置myid文件
  • Zookeeper集群只有一台机器

分布式集群手操 – Zookeeper搭建
https://vicasong.github.io/big-data/zookeeper-distribute-install/
作者
Vica
发布于
2016年9月6日
许可协议