03-zk-集群部署

zookeeper-集群部署

  • 在前面一篇文章简书了单机版的zk的部署,这里我们看看集群的部署,集群的部署是基于单机而来的,在单机的基础之上增加了一下步骤。
  • 假设我们现在有3台设备ABC

一、准备

  • 创建目录(在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 启动文件

  • zkServer.sh 是启动停止的执行脚本
  • zkEnv.sh是zookeeper集群启动时配置环境变量的文件

三、启动

  • 启动和之前的单机版本一样
#启动服务(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]

五、参考

猜你喜欢

转载自blog.csdn.net/my_momo_csdn/article/details/91874064
今日推荐