Cassandra を構成する

このドキュメントでは、Apigee Edge for Private Cloud バージョン 4.53.00 以降に含まれている Cassandra 4.0.X の構成について説明します。ここで説明する構成の実行について詳しくは、付録のセクションをご覧ください。

ガベージ コレクタの構成

CMS の使用に切り替える

デフォルトでは、Apigee には Cassandra 4.X に推奨される G1 ガベージ コレクタが付属しています。ただし、さまざまなユースケースや独自のインフラストラクチャ(Edge for Private Cloud など)では、CMS ガベージ コレクタに切り替えることもできます。ヒープサイズが 8 GB を超える場合は、G1GC を使用することを強くおすすめします。

CMS ガベージ コレクタを使用するには、次の構成を設定します。

conf_jvm_options_gc_type=cms

G1 ガベージ コレクタの使用に戻すには、この構成を削除します。

CMS ガベージ コレクタの設定を変更する

Apigee には、CMS ガベージ コレクタのデフォルト パラメータが用意されています。これらのパラメータは、Cassandra が CMS を使用する場合に適用されます。これらのパラメータを変更するには、構成 conf_jvm_options_cms_gc_setting_lines を使用します。CMS GC に関連するすべての JVM パラメータを 1 行に「\n」で区切って設定します。

例:

conf_jvm_options_cms_gc_setting_lines=-XX:+UseParNewGC\n-XX:+UseConcMarkSweepGC\n-XX:+CMSParallelRemarkEnabled\n-XX:SurvivorRatio=8\n-XX:MaxTenuringThreshold=1\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:CMSWaitDuration=10000\n-XX:+CMSParallelInitialMarkEnabled\n-XX:+CMSEdenChunksRecordAlways\n-XX:+CMSClassUnloadingEnabled

G1GC ガベージ コレクタの設定を変更する

Apigee には、G1 ガベージ コレクタのデフォルト パラメータが用意されています。これらのパラメータは、デフォルトの G1GC が有効になっている場合に適用されます。CMS に切り替えると、これらの設定は適用されません。G1GC パラメータを変更するには、構成 conf_jvm_options_g1_gc_setting_lines を使用します。G1 GC に関連するすべての JVM パラメータを 1 行に「\n」で区切って設定します。

例:

conf_jvm_options_g1_gc_setting_lines=-XX:+UseG1GC\n-XX:G1RSetUpdatingPauseTimePercent=5\n-XX:MaxGCPauseMillis=500\n-XX:InitiatingHeapOccupancyPercent=50\n-XX:ParallelGCThreads=8\n-XX:ConcGCThreads=8\n-XX:+ParallelRefProcEnabled\n-XX:MaxTenuringThreshold=1\n-XX:G1HeapRegionSize=32m\n-XX:G1ReservePercent=15

独自の GC 設定を使用する

G1GC と CMS の両方について Apigee のプリセットをすべて無視するには、次の構成を設定します。

conf_jvm_options_gc_type=custom

JVM のすべての GC 設定を conf_jvm_options_custom_settings に指定し、各設定を「\n」で区切ります。

例:

conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19

ヒープサイズの構成

Apigee では、Cassandra を 8 GB 以下のヒープ空間で運用することを強くおすすめします。ヒープサイズを 8 GB に制限するチェックは $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh にあります。

チェックを手動で無効にせずに独自のヒープサイズを指定するには、構成 conf_jvm_options_custom_settings を使用します。各設定は「\n」で区切ります。

例:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

JVM の一般的な設定を構成する

Cassandra に JVM パラメータを追加するには、構成 conf_jvm_options_custom_settings にすべての JVM 構成を 1 行に「\n」で区切って指定します。

例:

conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures

付録

Cassandra の構成を設定する方法

  1. Cassandra 構成のオーバーライド ファイルを作成または編集します。
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. 必要に応じて、構成行を追加、削除、変更します。
  3. ファイルを保存し、ファイルの所有者が「apigee」ユーザーであり、読み取り可能であることを確認します。
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. ノードで Cassandra サービスを再起動します。
    apigee-service apigee-cassandra restart
  5. 各 Cassandra ノードでこれらの手順を 1 つずつ繰り返します。

さまざまなタイプの構成

構成 conf_jvm_options_custom_settings は、さまざまなパラメータを Cassandra JVM に渡すことができます。さまざまな Java パラメータを 1 つの構成にまとめ、\n で区切ります。

例:

conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G