Zookeeper_运维

本文介绍了ZooKeeper的基本及高级配置参数,如clientPort、dataDir和tickTime等,并探讨了四字命令、JMX远程监控配置及数据日志管理方法。此外,还提供了集群扩容、数据清理的具体步骤。
摘要由CSDN通过智能技术生成
  1. 基本配置

      参数名                           说明
    clientPort     该参数无默认值,必须配置。表示当前服务器对外服务的端口号,一般设置为2181.集群汇总的所有服务器不需要保持clientPort端口一致
    
    dataDir        该参数无默认值,必须配置。这是zookeeper服务器存储快照文件的目录。如果没有配置参数dataLogDir,那么事务日志也会存储在这个目录中,考虑到事务日志的写性能直接影响zookeeper整体的服务能力,建议同时通过参数dataLogDir来配置事务日志的存储目录。
    
    tickTime       该参数有默认值:3000,单位ms。可以不配置。代表zookeeper中最小时间单元的长度,很多运行时的时间间隔都是使用tickTime的倍数来表示的。例如,zookeeper中会话的最小超时时间默认是2*tickTime。
    
  2. 高级配置

    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述

  3. 四字命令
    通过命令: Telnet 192.168.6.187 2181或者命令: nc 192.168.6.187 2181 登录到zookeeper的对外服务端口,然后即可直接输入四字命令。四字命令包括:
    conf :输出zookeeper服务器运行时使用的基本配置信息
    cons :输出当前这台服务器上所有客户端连接的详细信息
    crst :用于重置所有的客户端连接统计信息
    dump :用于输出当前集群的所有会话信息,包括这些会话的ID,以及每个会话创建的临时节点等信息
    envi :输出zookeeper所在服务器运行时的环境信息
    ruok :输出当前zookeeper服务器是否正在运行
    stat :获取zookeeper服务器的运行时状态信息
    srvr :输出服务器自身的信息
    srst :重置所有服务器的统计信息
    wchs :输出当前服务器上管理的watcher的概要信息
    wchc :输出当前服务器上管理的watcher的详细信息,以会话为单位进行归组
    wchp :输出当前服务器上管理的watcher的详细信息,以节点路径为单位进行归组
    mntr :输出比stat命令更为详尽的服务器统计信息

  4. JMX(Java 管理扩展)
    开启远程JMX:
    zookeeper默认开启了JMX功能,但是只限本地连接,开启远程连接需要修改zkServer.sh文件:

    ZOOMAIN=”-Dcom.sun.management.jmxremote.port=21811
      -Dcom.sun.management.jmxremote.ssl=false
      -Dcom.sun.management.jmxremote.authenticate=false
    org.apache.zookeeper.server.quorum.QuorumPeerMain”
    

    通过JConsole连接Zookeeper:
    JConsole(Java监视和管理控制台)是一个Java内置的基于JMX的图形化管理工具。

  5. 扩容与缩容
    zookeeper在水平扩容时,需要进行整个集群的重启。通常有两种重启方式:集群整体重启、逐台进行服务器的重启(更常用,不用停止服务)。

  6. 数据与日志管理
    zookeeper不断把快照数据和事务日志输出到dataDir和dataLogDir目录中,zookeeper不会自己清理这些文件,需要运维人员来进行清理。
    ① 纯shell脚本进行清理

    #!/bin/bash
    dataDir=/home/hadoop/zookeeper/data/version-2
    dataLogDir=/home/hadoop/zookeeper/data/version-2
    logDir=/home/hadoop/zookeeper/logs
    
    count = 60
    count=$[$count+1]
    
    ls -t $dataLogDir/log.*|tail -n +$count|xargs rm -f
    ls -t $dataDir/snapshot.*|tail -n +$count|xargs rm -f
    ls -t $logDir/zookeeper.log.*|tail -n +$count|xargs rm -f
    

    ② 使用清理工具:PurgeTxnLog

    java -cp zookeeper-3.4.6.jar:lib/slf4j-api-1.6.1.jar:lib/slf4j-log4j12-1.6.1.jar:lib/log4j-1.2.15.jar:conf org.apache.zookeeper.server.PurgeTxnLog /home/hadoop/zookeeper/data /home/hadoop/zookeeper/data -n 15
    

    在zookeeper根路径下执行以上命令,进行历史快照数据和事务日志文件的清理,至多会保留15个快照数据文件和相对于的事务日志文件。
    ③ 使用清理脚本:zkCleanup.sh

    sh zkCleanup.sh -n 15
    

    ④ 自动清理机制
    通过autopurge.snapRetainCount和autopurge.purgeInterval参数进行配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值