Apache Cassandra 维护任务

Edge for Private Cloud v4.19.01

本部分介绍了 Cassandra 的定期维护任务。

反熵维护

Apache Cassandra 环节点需要定期维护,以确保所有节点的一致性。如需执行此维护,请使用以下命令:

nodetool -h localhost repair -pr

运行此命令时,Apigee 建议执行以下操作:

  • 在每个 Cassandra 节点上运行(跨所有区域或数据中心)。
  • 一次在一个节点上运行,以确保环中的所有节点保持一致。
  • 在工作负载相对较低的时段运行(该工具对系统施加大量负载)。
  • 至少每七天运行一次,以消除与 Cassandra“忘记删除”相关的问题。
  • 您可以在不同日期在不同节点上运行该测试,也可以安排该测试,以便在每个节点上相隔几个小时运行。
  • 使用 -pr 选项(分区器范围)仅指定节点的主分区器范围。

如果您为 Cassandra 启用了 JMX 身份验证,则必须在调用 nodetool 时添加用户名和密码。例如:

nodetool -u username -pw password -h localhost repair -pr

如需了解详情,请参阅以下资源:

日志文件维护

Cassandra 日志存储在每个节点上的 /opt/apigee/var/log/cassandra 目录中。默认情况下,您最多可以创建 50 个日志文件,每个文件的大小上限为 20 MB;达到此限制后,系统会在创建较新的日志时删除较早的日志。

如果您发现 Cassandra 日志文件占用了大量空间,可以通过修改 log4j 设置来修改为日志文件分配的空间量。

  1. 修改 /opt/apigee/customer/application/cassandra.properties 以设置以下属性。如果该文件不存在,请创建一个:
    conf_log4j-server_log4j.appender.r.maxfilesize=20MB
    # max file size
    conf_log4j-server_log4j.appender.r.maxbackupindex=50 # max open files
  2. 使用以下命令重启 Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart