本文档介绍适用于私有云的 Apigee Edge 4.52.02 或更高版本附带的 Cassandra 3.11.X 的配置。如需详细了解如何执行此处所述的配置,请参阅附录部分。
垃圾回收器配置
改用内容管理系统
默认情况下,Apigee 为 Cassandra 附带了 G1 垃圾回收器,建议对 Cassandra 3.X 使用 G1 垃圾回收器。但是,对于不同的用例和您自己的基础架构(例如在适用于私有云的 Edge 中),您可以选择改用 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 后适用。如果您切换到内容管理系统,这些设置将不适用。如需更改 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 的堆空间。将堆大小限制为 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 设置
如需将 JVM 参数添加到 Cassandra,请在一行中指定所有 JVM 配置,并用“\n”分隔配置 conf_jvm_options_custom_settings
的所有 JVM 配置。
示例:
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