Zookeeper_运维

来源:互联网 发布:oracle数据库教程 编辑:程序博客网 时间:2024/06/05 06:02
  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=falseorg.apache.zookeeper.server.quorum.QuorumPeerMain”

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

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

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

    #!/bin/bashdataDir=/home/hadoop/zookeeper/data/version-2dataLogDir=/home/hadoop/zookeeper/data/version-2logDir=/home/hadoop/zookeeper/logscount = 60count=$[$count+1]ls -t $dataLogDir/log.*|tail -n +$count|xargs rm -fls -t $dataDir/snapshot.*|tail -n +$count|xargs rm -fls -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参数进行配置