このセクションでは、Cassandra の定期的なメンテナンス タスクについて説明します。
アンチエントロピー メンテナンス
Apache Cassandra リングノードでは、すべてのノードの整合性を保つために定期的なメンテナンスが必要です。このメンテナンスを行うには、次のコマンドを使用します。
nodetool -h localhost repair -pr
このコマンドを実行する際は、次のことをおすすめします。
- (すべてのリージョンまたはデータセンターにある)すべての 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
- 次のコマンドを使用して Cassandra を再起動します。
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart