Apache Cassandra のメンテナンス タスク

このセクションでは、Cassandra の定期的なメンテナンス タスクについて説明します。

アンチエントロピー メンテナンス

Apache Cassandra リングノードは、すべてのノードの整合性を保つための定期的なメンテナンスが必要です。このメンテナンスには次のコマンドを使用します。

nodetool -h localhost repair -pr

このコマンドを実行するときの推奨事項を以下に示します。

  • (すべてのリージョンまたはデータセンターにある)すべての Cassandra ノードに対して実行します。
  • リング内のすべてのノードの整合性を保つには、一度に 1 つのノードに対して実行します。
  • 比較的ワークロードの少ないときに実行します(このツールはシステムに大きな負荷をかけます)。
  • Cassandra の「忘れられた削除」に関連する問題をなくすには、少なくとも 7 日ごとに実行してください。
  • 日によって違うノードに対して実行することも、数時間ごとに 1 ノードずつ実行するようスケジュールすることもできます。
  • -pr オプション(パーティショナー範囲)を使用して、そのノードのみのプライマリ パーティショナー範囲を指定します。

Cassandra に対して JMX 認証を有効にした場合は、nodetool を呼び出すときにユーザー名とパスワードを指定する必要があります。次に例を示します。

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

詳しくは、次のリソースをご覧ください。

ログファイルのメンテナンス

Cassandra のログは、各ノードの /opt/apigee/var/log/cassandra ディレクトリに保持されます。デフォルトでは、最大サイズが 20 MB のログファイルを最大 50 個作成できます。この上限に達すると、新しいログが作成されたときに古いログが削除されます。

Cassandra のログファイルが過剰なスペースを占めていることがわかった場合は、log4j の設定を編集して、ログファイルに割り当てられるスペースのサイズを変更できます。

  1. /opt/apigee/customer/application/cassandra.properties を編集して次のプロパティを設定します。このファイルが存在しない場合は作成します。
    conf_log4j-server_log4j.appender.r.maxfilesize=20MB
    # max file size
    conf_log4j-server_log4j.appender.r.maxbackupindex=50 # max open files
  2. 次のコマンドを使用して Cassandra を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart