Apache Zookeeper 維護任務

Edge for Private Cloud 4.17.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/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