美文网首页
ZooKeeper集群部署

ZooKeeper集群部署

作者: 叫我宫城大人 | 来源:发表于2019-05-29 15:06 被阅读0次

    环境准备

    • 至少三台 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集群部署

          本文链接:https://www.haomeiwen.com/subject/himetctx.html