配置 Cassandra

本文档介绍了 Cassandra 5.0.X 的配置,该版本包含在 Apigee Edge for Private Cloud 4.54.00 或更高版本中。如需详细了解如何应用此页面上介绍的配置,请参阅附录部分。

垃圾回收器配置

修改 G1GC 设置

默认情况下,Apigee 随 Cassandra 一起提供 G1 垃圾回收器 (G1GC) 并提供默认 G1GC 参数。由于 Cassandra 5.0.X 在 Java 17 上运行,因此不再支持并发标记清除 (CMS) 垃圾回收器(conf_jvm_options_gc_type=cms 和 conf_jvm_options_cms_gc_setting_lines)。如需更改 G1GC 参数,请在单行中设置 conf_jvm_options_g1_gc_setting_lines 属性,并用 \n 分隔每个 JVM 参数。

示例:

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 预设,请进行以下配置:

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 强烈建议您在不超过 8 GB 的堆空间内运行 Cassandra。限制堆大小为 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 分隔配置 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 节点上逐一重复执行这些步骤。

各种类型的配置

配置 conf_jvm_options_custom_settings 可以将不同的参数传递给 Cassandra JVM。将各种 Java 参数合并到单个配置中,并用“\n”分隔。

示例:

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