Apache Cassandra 維護工作

本節說明 Cassandra 的定期維護工作。

反熵維護

Apache Cassandra 環狀節點需要定期維護,確保所有節點的一致性。如要執行這項維護作業,請使用下列指令:

nodetool -h localhost repair -pr

執行這項指令時,Apigee 建議採取下列做法:

  • 在每個 Cassandra 節點 (跨所有區域或資料中心) 執行。
  • 一次在一個節點上執行,確保環中所有節點的一致性。
  • 在工作負載相對較低時執行 (這項工具會對系統造成大量負載)。
  • 至少每七天執行一次,以消除與 Cassandra「忘記刪除」相關的問題。
  • 您可以在不同日期在不同節點上執行,也可以排定在每個節點上執行的時間間隔數小時。
  • 使用 -pr 選項 (分區器範圍),僅指定節點的主要分區器範圍。

如果您為 Cassandra 啟用了 JMX 驗證,則在叫用 nodetool 時,必須包含使用者名稱和密碼。例如:

nodetool -u username -pw password -h localhost repair -pr

詳情請參閱下列資源:

記錄檔維護

Cassandra 記錄檔會儲存在每個節點的 /opt/apigee/var/log/cassandra 目錄中。根據預設,系統最多可建立 50 個記錄檔,每個檔案的大小上限為 20 MB。達到上限後,系統會在建立新記錄時刪除舊記錄。

如果發現 Cassandra 記錄檔占用過多空間,可以編輯 log4j 設定,修改分配給記錄檔的空間量。

  1. 編輯 /opt/apigee/customer/application/cassandra.properties,設定下列屬性。如果該檔案不存在,請建立檔案:
    conf_logback_maxfilesize=20MB
    # max file size
    conf_logback_maxbackupindex=50 # max open files
  2. 使用下列指令重新啟動 Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart