このドキュメントでは、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 の構成方法
- Cassandra 構成オーバーライド ファイルを作成または編集します。
vi $APIGEE_ROOT/customer/application/cassandra.properties
- 必要に応じて、構成行を追加、削除、または変更します。
- ファイルを保存し、「apigee」ユーザーがファイルを所有し、読み取り可能であることを確認します。
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- ノードで Cassandra サービスを再起動します。
apigee-service apigee-cassandra restart
- この手順を 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