Apache Zookeeper 维护任务

Edge for Private Cloud 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 中设置以下属性:
    # 设置快照数量。在此示例中,将其设置为 10:
    conf_zoo_autopurge.snapretaincount=10

    # 设置完全清除间隔。在本例中,设置为 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 # 文件大小上限
    conf_log4j_log4j.appender.rollingfile.maxbackupindex=50 # 打开文件数上限
  3. 请确保文件属于“apigee”用户:
    > chown apigee:apigee /opt/apigee/customer/application/zookeeper.properties
  4. 使用以下命令重启 ZooKeeper:
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart