ZooKeeper集群部署

环境准备

  • 至少三台 Java 运行环境服务器(方便演示,本文同台机器不同端口)
  • ZooKeeper 部署包(演示版本:3.4.13)
  • SSH 工具

解压部署包

解压部署包,拷贝至不同服务器,演示目录如下;

  • zk_1
  • zk_2
  • zk_3

编辑配置文件

配置文件路径:$ZK_HOME/conf/zoo.cfg

依次修改 dataDir、clientPort 和 server 集群的配置,以 zk_1 为示例:

……
dataDir=/caojiantao/zk_1/data
clientPort=2181

server.1=192.168.43.128:2281:2381
server.2=192.168.43.128:2282:2382
server.3=192.168.43.128:2283:2383
……

注:server.${myid}=${ip}:${clusterPort}:${electionPort},myid 指集群中节点的唯一标识,ip 指节点的 ip,clusterPort 用于集群节点之间相互通信的端口号,electionPort 是在 leader 选举时特定的端口号。

根据上述配置的节点 myid,在各自对应的 dataDir 下创建 myid 文件,写入对应的唯一标识值,以 zk_1 为示例;

/caojiantao/zk_1/data/myid

1

启动服务

依次启动 zk_1、zk_2 和 zk_3 服务,演示需要,使用前台启动;

./zkServer.sh start-foreground

生产环境采用 start 后台启动方式。

注意赋予脚本可执行权限。

在启动前几个节点时,由于集群节点未完全启动,会出现 Connection refused。待集群所有节点都已启动成功,错误提示会自动停止。

连接测试

集群连接命令;

./zkCli.sh -server 192.168.43.128:2181,192.168.43.128:2182,192.168.43.128:2183

连接成功,执行任何命令结果都会同步至每一个集群节点。节点宕机不超过一半也不会影响集群效果,宕机重连任然会同步最新数据。

你可能感兴趣的:(ZooKeeper集群部署)