Cassandra 文档

版本

您正在查看预发布版本的文档。

配置 Cassandra

Cassandra 配置文件的位置因安装类型而异

  • docker:/etc/cassandra 目录

  • tarball:tarball 安装位置内的 conf 目录

  • 包:/etc/cassandra 目录

Cassandra 的默认配置文件 cassandra.yaml 足以探索简单的单节点 集群。但是,除了在本地运行单节点集群之外,任何操作都需要对各种 Cassandra 配置文件进行额外的配置。一些需要非默认配置的示例包括部署多节点集群或使用不在集群节点上运行的客户端。

  • cassandra.yaml:Cassandra 的主要配置文件

  • cassandra-env.sh:可以设置环境变量

  • cassandra-rackdc.propertiescassandra-topology.properties:为集群设置机架和数据中心信息

  • logback.xml:日志记录配置,包括日志记录级别

  • jvm-*:服务器和客户端的多个 JVM 配置文件

  • commitlog_archiving.properties:设置 commitlog 的存档参数

示例配置文件也可以在 ./conf 中找到

  • cqlshrc.sample:如何配置 CQL shell,cqlsh

主要运行时属性

配置 Cassandra 是通过在 cassandra.yaml 文件中设置 yaml 属性来完成的。至少应考虑设置以下属性

  • cluster_name:设置集群的名称。

  • seeds:集群 种子节点 的 IP 地址的逗号分隔列表。

  • storage_port:检查防火墙是否阻止了默认端口 7000。

  • listen_address监听地址 是允许节点与集群中的其他节点通信的节点的 IP 地址。默认情况下设置为 localhost。或者,您可以设置 listen_interface 来告诉 Cassandra 使用哪个接口,以及使用哪个地址。设置一个属性,而不是两个。

  • native_transport_port:检查防火墙是否阻止了默认端口 9042,以便像 cqlsh 这样的客户端可以通过此端口与 Cassandra 通信。

更改目录位置

以下 yaml 属性控制目录的位置

  • data_file_directories:一个或多个目录,其中包含数据文件,例如 SSTables

  • commitlog_directory:commitlog 文件所在的目录。

  • saved_caches_directory:保存缓存所在的目录。

  • hints_directory提示 所在的目录。

出于性能原因,如果您有多个磁盘,请考虑将 commitlog 和数据文件放在不同的磁盘上。

环境变量

可以在 cassandra-env.sh 中设置 JVM 级别的设置,例如堆大小。您可以将任何其他 JVM 命令行参数添加到 JVM_OPTS 环境变量中;当 Cassandra 启动时,这些参数将传递给 JVM。

日志记录

默认记录器是 logback。默认情况下,它将记录

  • system.log 中的 INFO 级别

  • debug.log 中的 DEBUG 级别

在前景运行时,它还会在控制台中以 INFO 级别记录日志。您可以通过编辑 logback.xml 或运行 nodetool setlogginglevel 命令来更改日志记录属性。