美文网首页
zookeeper的集群搭建

zookeeper的集群搭建

作者: 断水流大师兄vs魔鬼筋肉人 | 来源:发表于2023-03-20 16:54 被阅读0次

    获取包地址:官网地址


    启动需要java环境变量
    解压安装包后
    cd /usr/local/zookeeper-3.4.6/conf/
    cp zoo_sample.cfg   zoo.cfg
    配置文件内容:
    tickTime=2000
    initLimit=10
    syncLimit=5
    #数据目录,也是文件/usr/local/zookeeper-3.4.6/data/myid存放的目录
    dataDir=/usr/local/zookeeper-3.4.6/data/  
    clientPort=2182
    #集群节点数
    server.1=10.10.10.7:2888:3888
    server.2=10.10.10.8:2888:3888
    server.3=10.10.10.9:2888:3888
    # 指定清理频率,单位是小时,默认是0,表示不开启自己清理功能。
    autopurge.purgeInterval=6
    # 和上面的参数搭配使用,指定需要保留的文件数目,默认是保留3个。
    autopurge.snapRetainCount=5
    

    每个节点分别写入:注意myid 和节点IP对应,我搞错过一次,一直失败。

    10.10.10.7    echo 1 > /usr/local/zookeeper-3.4.6/data/myid
    10.10.10.8    echo 2 > /usr/local/zookeeper-3.4.6/data/myid
    10.10.10.9    echo 3 > /usr/local/zookeeper-3.4.6/data/myid
    

    启动:

    3台主机上分别启动:
    sh bin/zkServer.sh  start
    备注:在集群启动过程中,当有一台zookeeper节点s1启动完成后,此时集群中只有一个节点无法进行leader的选举。
    当第二个节点s2启动成功后,此时两个节点可以正常通信,进入leader的选举过程
    
    重启命令:
    sh bin/zkServer.sh restart
    查看节点状态:
    sh bin/zkServer.sh status
    JMX enabled by default
    Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
    Mode: follower
    查看同步状态:
     [root@10-7 zookeeper-3.4.6]# echo mntr|nc 10.10.10.7 2182
    zk_version      3.4.6-1569965, built on 02/20/2014 09:09 GMT
    zk_avg_latency  0
    zk_max_latency  335
    zk_min_latency  0
    zk_packets_received     1424995
    zk_packets_sent 1425026
    zk_num_alive_connections        5
    zk_outstanding_requests 0
    zk_server_state follower
    zk_znode_count  1196   
    zk_watch_count  145
    zk_ephemerals_count     24
    zk_approximate_data_size        109309
    zk_open_file_descriptor_count   36
    zk_max_file_descriptor_count    62235
    

    问题1:状态不对


    不管它直接启动下一个节点,启动第二个节点后,第二个会选举自己为leader ,它检测到第一个节点后,第一个节点自己会变成follower

    问题2:myid和主机IP不对应。

    WARN Cannot open channel to 2 at election address /0.0.0.0:3888 (org.apache.zookeeper.server.quorum.QuorumCnxManager) 
    java.net.ConnectException: Connection refused (Connection refused) 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:204) 
     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
     at java.net.Socket.connect(Socket.java:607) 
     at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558) 
     at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:534) 
     at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$Work
    

    日志切割功能:

    修改 conf/log4j.properties和 bin/zkEnv.sh (重启生效)


    conf/log4j.properties
    bin/zkEnv.sh

    相关文章

      网友评论

          本文标题:zookeeper的集群搭建

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