zookeeper-集群部署
- 在前面一篇文章简书了单机版的zk的部署,这里我们看看集群的部署,集群的部署是基于单机而来的,在单机的基础之上增加了一下步骤。
- 假设我们现在有3台设备ABC
一、准备
mkdir zk
mkdir -p zk/data #存放快照日志
mkdir -p zk/datalog#存放事物日志
二、修改配置
2.1 示例配置
- 可以将zookeeper节点的配置按照如下方式配置:
#默认
tickTime=2000
#默认
initLimit=10
#默认
syncLimit=5
#指定快照日志存储目录
dataDir=/opt/zookeeper/zkdata
#指定事物日志存储目录
dataLogDir=/opt/zookeeper/zkdatalog
#指定端口
clientPort=2181
#指定集群设备地址
#server.1 这个1是服务器的标识也可以是其他的数字,表示这个是第几号服务器,这个标识要写到快照目录下面myid文件里,并且集群内唯一
#192.168.xx.1为集群内的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888
server.1=192.168.xx.1:2888:3888
server.2=192.168.xx.2:2888:3888
server.3=192.168.xx.3:2888:3888
2.2 创建myid文件
- echo “1” > /opt/zookeeper/zkdata/myid ,注意myid文件在dataDir配置的快照日志目录下面,并且myid文件内的数字要集群内唯一
2.3 日志
- log4j.properties是zk的日志输出文件 在conf目录里用java写的程序基本上有个共同点日志都用log4j,来进行管理,可以保持默认。
2.4 启动文件
三、启动
#启动服务(3台都需要操作)
./zkServer.sh start
#检查服务器状态
./zkServer.sh status
#输出
JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg #配置文件
Mode: follower #集群角色
四、小结
- 我们看到zookeeper搭建部署集群其实和单机版本差不多,只是需要在配置文件中添加所有集群成员的ip地址信息,并且添加myid文件即可。
- 集群的运行和部署更多细节,可以阅读参考文章[1]
五、参考