Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。
Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。
1、官网下载zookeeper. 选择稳定版本
https://archive.apache.org/dist/zookeeper/
2、安装
使用tar解压要安装的目录即可。这里解压到/tmp目录下。
[root@zhiyou ]# tar xf zookeeper-3.4.10.tar.gz -C /tmp
3、配置
创建配置文件,定义存储数据和日志目录。
[root@zhiyou ]# cd /tmp/zookeeper-3.4.10
[root@zhiyou ]# mkdir ./{date,logs}
[root@zhiyou conf]# cp conf/zoo_sample.cfg conf/zoo.cfg
[root@zhiyou conf]# vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir= /tmp/zookeeper-3.4.10/data
cdataLogDir= /tmp/zookeeper-3.4.10/logs
clientPort=2181
4、启动与关闭
./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart ./zkServer.sh status
集群的配置文档:
[root@zy ]# vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir= /tmp/zookeeper-3.4.10/data
cdataLogDir= /tmp/zookeeper-3.4.10/logs
clientPort=2181
server.1=192.168.229.160:2888:3888
server.2=192.168.228.161:2888:3888
server.3=192.168.227.162:2888:3888
注:
server.id=host:port1:port2
其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。 host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。