Apache Zookeeper 维护任务

由四个字母组成的命令

Apache ZooKeeper 提供了许多“由四个字母组成的命令”,有助于确定 ZooKeeper 投票者节点和观察者节点的当前状态。您可以使用 nctelnet 或其他能够将命令发送到特定端口的实用程序调用这些命令。如需详细了解由四个字母组成的命令,请参阅 Apache ZooKeeper 命令参考文档

移除旧的快照文件

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. In this example set it to 10:
      conf_zoo_autopurge.snapretaincount=10
    
      # Set the purge interval. In this example, set is to 240 hours:
      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