目录
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
说明:三台机器的主机名分别为:bigdata.centos01、bigdata.centos02、bigdata.centos03
注意:zookeeper服务集群节点数最好是2n+1(n是节点故障数),也就是说半数以上的节点存活才能提供服务
一、下载和配置
1.下载
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.7/zookeeper-3.4.7.tar.gz
2.配置
- 将配置文件名修改为zoo.cfg,作如下配置
# 最基本的时间单位,ZooKeeper服务的心跳周期和session超时,session超时时长最小为tickTime的两倍
tickTime=2000
# follower连接到leader最长能忍受多少个心跳时间周期
initLimit=10
# leader和follower之前发送消息,请求和应答的时间长度
syncLimit=5
# zookeeper的数据目录
dataDir=/opt/modules/zookeeper-3.4.7/zkdata
# the port at which the clients will connect
clientPort=2181
# 2888是leader和follower通讯端口
# 3888是leader选举端口
server.1=bigdata.centos01:2888:3888
server.2=bigdata.centos02:2888:3888
server.3=bigdata.centos03:2888:3888
- 在数据目录下新建myid文件
# 切换到zookeeper的数据目录
cd /opt/modules/zookeeper-3.4.7/zkdata
touch myid
# 如上面zoo.cfg的配置所示,对myid作如下修改
## centos01的myid内容是1
## centos02的myid内容是2
## centos03的myid内容是3
二、服务启动和测试
- 服务启动
# 三台机都执行
./zkServer.sh start
# 查看服务启动,有 QuorumPeerMain 则服务启动成功
jps
- 测试
# 连接服务,没有半数以上节点存活则连不上
./zkCli.sh
# 连接服务成功后,查看节点,可看到只有zookeeper一个节点
ls /
# 退出服务
quit
- 查看当前服务器zookeeper服务的状态
./zkServer.sh status