Cassandra を構成する

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

ガベージ コレクタの構成

CMS の使用に切り替える

デフォルトでは、Apigee には Cassandra に G1 Garbage Collector が付属しており、これは Cassandra 3.X に推奨されています。ただし、さまざまなユースケースや独自のインフラストラクチャ(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 パラメータを「\n」で区切って 1 行で設定します。

例:

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 パラメータを変更するには、config conf_jvm_options_g1_gc_setting_lines を使用します。G1 GC に関連するすべての JVM パラメータを「\n」で区切って 1 行で設定します。

例:

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

conf_jvm_options_custom_settings 内で、JVM のすべての GC 設定を「\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 パラメータを追加するには、すべての JVM 構成を「\n」で区切った 1 行で構成 conf_jvm_options_custom_settings として指定します。

例:

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