Apache Zookeeper 维护任务

适用于私有云的 Edge v4.18.01

四字母命令

Apache ZooKeeper 提供了一些“四字母命令”,这些命令有助于确定 ZooKeeper 投票节点和观察器节点的当前状态。可以使用“nc”、“telnet”或其他能够将命令发送到特定端口的实用程序来调用这些命令。如需详细了解四字母命令,请参阅:

http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

移除旧的快照文件

Apache ZooKeeper 会自动执行定期维护,以移除随着系统更新而累积的旧快照文件。/opt/apigee/apigee-zookeeper/conf/zoo.cfg 中的以下设置用于控制此过程:

## The number of snapshots to retain in dataDir:
autopurge.snapRetainCount=5

# Purge task interval in hours.
# Set to "0" to disable auto purge feature.
autopurge.purgeInterval=120

如需将这些属性设置为不同的值,请执行以下操作:

  1. 修改 /opt/apigee/customer/application/zookeeper.properties 以设置以下属性。如果该文件不存在,请创建该文件。
  2. zookeeper.properties 中设置以下属性:
    # Set the snapshot count. 在此示例中,将其设置为 10:
    conf_zoo_autopurge.snapretaincount=10

    # Set the purge interval. 在此示例中,将其设置为 240 小时:
    conf_zoo_autopurge.purgeinterval=240
  3. 确保该文件归“apigee”用户所有:
    > chown apigee:apigee /opt/apigee/customer/application/zookeeper.properties
  4. 使用以下命令重启 ZooKeeper:
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart

日志文件维护

Apache Zookeeper 日志文件保存在 /opt/apigee/var/log/apache-zookeeper 中。通常,不需要维护日志文件,但如果您发现 ZooKeeper 日志数量过多或日志非常大,可以修改 ZooKeeper 的 log4j 属性以设置文件大小上限和文件数量。

  1. 修改 /opt/apigee/customer/application/zookeeper.properties,设置以下属性。如果该文件不存在,请创建该文件。
  2. zookeeper.properties 中设置以下属性:
    conf_log4j_log4j.appender.rollingfile.maxfilesize=10MB # max file size
    conf_log4j_log4j.appender.rollingfile.maxbackupindex=50 # max open files
  3. 确保该文件归“apigee”用户所有:
    > chown apigee:apigee /opt/apigee/customer/application/zookeeper.properties
  4. 使用以下命令重启 ZooKeeper:
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart