本文档介绍了 Apigee Edge Private Cloud 版 4.53.00 或更高版本附带的 Cassandra 4.0.X 的配置。如需详细了解如何执行此处介绍的配置,请参阅附录部分。
垃圾回收器配置
改用 CMS
默认情况下,Apigee 会将 Cassandra 与 G1 垃圾回收器一起提供,我们建议为 Cassandra 4.X 使用该回收器。不过,对于不同的用例和您自己的基础架构(如 Edge for Private Cloud),您可以选择改用 CMS 垃圾回收器。对于堆大小超过 8 GB 的情况,Apigee 强烈建议使用 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”分隔。
示例:
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 参数,以“\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 设置
如需忽略 Apigee 针对 G1GC 和 CMS 的所有预设,请设置以下配置:
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。$APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
中包含用于将堆大小限制为 8 GB 的检查。
如需指定您自己的堆大小,而不手动停用检查,请使用配置 conf_jvm_options_custom_settings
。每项设置之间用“\n”分隔。
示例:
conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G
配置常规 JVM 设置
如需向 Cassandra 添加 JVM 参数,请为配置 conf_jvm_options_custom_settings
在单行中指定所有 JVM 配置,并以“\n”分隔。
示例:
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 节点上重复这些步骤。
各种类型的配置
配置 conf_jvm_options_custom_settings
可以将不同的参数传递给 Cassandra JVM。将各种 Java 参数组合到单个配置中,并以“\n”分隔。
示例:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G