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

Edge for Private Cloud v4.19.01

このセクションでは、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 の設定を編集して、ログファイルに割り当てられる容量を変更できます。

  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