zookeeper配置及集群管理

四个阶段:
    选举:election
    发现:discovery
    同步:sync
    广播:Broadcast
安装:
   部署方式:单机模式、伪分布模式、分布式模式

   http://zookeeper.apache.org

   zoo.cfg配置参数:
   tickTime=2000
   dataDir=/datazookeeper
   ClientPort=2181
   initLimit=5
   syncLimit=2

   指定主机的语法格式:
       server.ID=IP:port=2181
         ID:各主机的数字表示,一般从1开始
         IP:各主机的IP
    节点信息:
        cZxid = 0x2
        ctime = Sat Dec 19 03:30:07 CST 2020
        mZxid = 0x2
        mtime = Sat Dec 19 03:30:07 CST 2020
        pZxid = 0x2
        cversion = 0
        dataVersion = 0
        aclVersion = 0
        ephemeralOwner = 0x0
        dataLength = 0
        numChildren = 0
ZKCli命令:
    create,ls,ls2,stat,delete,rmr,get,set,...

监控ZK的四字命令:
    ruok,stat,srvr,conf,cons,wchs,envi ...

zoo.cfg配置文件的参数:
    基本配置参数:
       clientPort=2081
       dataDir=/data/zookeeper
       dataLogDir:事务日志文件路径;
       tickTime:

    存储配置:
       preAllocSize:为事务日志预先分配的磁盘量:默认65535kb
       snapCount:每多少次事务后执行一次快照操作,每事务的大小在平均100字节。
       autopurget.snpRetainCount:
       autopurge.purgeInterval:purge操作的时间间隔,0表示不启动。
       fsync.warningthresholdms:zk进行事务日志,fsync操作时消耗的时长报警阀值。
       weight.x=N:判断quorum时投票的权限,默认1;
    网络配置:
    maxClientCnxns:每客户端IP的最大并发连接数
    clientportAddress:zk监听IP地址
    minsessiontimeout:
    maxsessiontimeout:
    集群配置:
    lnitLimlt:Follower连接Leader并完成数据同步的时长
    Synclimlt:心跳检测的最大延迟
    leaderservers:默认zk的leader接收读写请求,额外还要负责协调各Follower发来的事务等,因此,为使得leader集中处理zk集群内部信息,建议不让leader直接提供服务。
    cnxTimeout:leader选举期间,各服务器创建TCP连接的超时时长。
    ellectonAlg:选举算法,目前仅支持FastLeaderElection算法一种。
    server.id=[hostname]:port:port[:observer]
         集群内各服务器的属性参数
             第一个port:follower与leader进行通信和数据同步时所使用的端口;
             第二个port:leader选举时使用的端口
             observer:定义指定的服务器为observer;

    注意:运行为集群模式时,每个节点在其数据目录中应该有一个myid文件,其内容仅为当前server的id;
典型应用场景:
    数据发布/订阅
    负载均衡
    命名服务
    分布式协调/通知
    集群管理
    Master选举

猜你喜欢

转载自blog.51cto.com/13870640/2571946