このセクションでは、Cassandra の定期的なメンテナンス タスクについて説明します。
アンチエントロピー メンテナンス
Apache Cassandra リングノードは、すべてのノードの整合性を保つために定期的なメンテナンスが必要です。このメンテナンスを行うには、次のコマンドを使用します。
nodetool -h localhost repair -pr
Apigee では、このコマンドを実行する際に次のことをおすすめします。
- (すべてのリージョンまたはデータセンターにある)すべての Cassandra ノードに対して実行します。
- リング内のすべてのノードの整合性を保つため、一度に 1 つのノードに対して実行します。
- ワークロードの負荷が比較的低いときに実行する(このツールはシステムに多大な負荷をかける)。
- Cassandra の「忘れられた削除」に関連する問題を排除するために、少なくとも 7 日ごとに実行します。
- 日によって異なるノードで実行することも、各ノードで数時間を実行するようにスケジュールすることもできます。
- ノードのプライマリ パーティション担当者の範囲を指定するには、
-pr
オプション(パーティション分割範囲)を使用します。
Cassandra に対して JMX 認証を有効にした場合は、nodetool
を呼び出すときにユーザー名とパスワードを指定する必要があります。例:
nodetool -u username -pw password -h localhost repair -pr
詳しくは、次のリソースをご覧ください。
ログファイルのメンテナンス
Cassandra のログは、各ノードの /opt/apigee/var/log/cassandra
ディレクトリに保存されます。デフォルトでは、最大 50 個のログファイル(各最大サイズが 20 MB)を作成できます。この上限に達すると、新しいログの作成時に古いログが削除されます。
Cassandra のログファイルが過剰な容量を占有している場合は、log4j の設定を編集して、ログファイルに割り当てる容量を変更できます。
/opt/apigee/customer/application/cassandra.properties
を編集して次のプロパティを設定します。このファイルが存在しない場合は作成します。conf_logback_maxfilesize=20MB # max file size conf_logback_maxbackupindex=50 # max open files
-
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
コマンドを使用して Cassandra を再起動します。