注1:CASSANDRA_SEEDS:Cassandra 集群的种子节点地址;这个选项可以设置多个值,即 Cassandra 集群中有多个种子节点,集群中所有的服务器在启动的时候,都将于 seed 节点进行通信,从而获取集群的相关信息;这里选择3台主机作为 seed 节点;
注2:Cassandra 启动需要足够的资源,建议 CPU 数最小为1,内存最低2G;
注3:Cassandra 节点间需要通信,所以选择 HOST 模式部署,避免端口隐射导致而节点间无法通信;
注4:如果对 Cassandra 集群有大致的规划,可以在选择主机处选择所需数量的主机;应用发布后,可以在所选主机的数量范围内,自由伸缩 Cassandra 节点数量。
--------------------------------------------------------------------------------------------------------------------
-
cluster_name:
(默认: Test Cluster) 集群名称,设置Cassandra集群的名称。在Cassandra集群中,每一台服务器都必须具备相应的集群的名称。如果名称不一致,则当前Cassandra服务器无法加入集群。
- data_file_directories
SSTable文件在磁盘中的存储位置。
这个选项可以设置多个值,即如果服务器具有多个磁盘,可以将这几个磁盘都指定为存储SSTable文件的位置。如果可能,可以考虑将data_file_directories和commitlog_directory设置在不同的磁盘中,这样有利于分散整体系统的磁盘I/O的压力。
数据文件的存放目录,压缩包安装方式默认是/var/lib/cassandra/data。为了更好的效果,建议使用RAID 0或SSD。
- commitlog_directory
commitlog文件在磁盘中的存储位置。
如果可能,可以考虑将data_file_directories和commitlog_directory设置在不同的磁盘中,这样有利于分散整体系统的磁盘I/O的压力。
commit log的保存目录,压缩包安装方式默认是/var/lib/cassandra/commitlog。通过前面的了解,我们可以知道,把这个目录和数据目录分开存放到不同的物理磁盘可以提高性能。
- saved_caches_directory
数据缓存文件在磁盘中的存储位置。
commitlog_rotation_threshold_in_mb 每一个commitlog文件的大小。
保存表和行的缓存,压缩包安装方式默认是/var/lib/cassandra/saved_caches。
- seeds
Cassandra集群中的种子节点地址
这个选项可以设置多个值,即Cassandra集群中有多个种子节点。
集群中所有的服务器在启动的时候,都将于seed节点进行通信,从而获取集群的相关信息。如果某一台服务器被设置为seed节点,那么在启动的时候,将自动加入集群,并且不会执行Bootstrap的操作,即无法从集群的其他节点中获取相应的数据。
- listen_address (Cassandra节点之间的通信采用的是listen_address)
Cassandra集群中服务器与服务器之间相互通信的地址。如果留空,将默认使用服务器的机器名。
默认是localhost。该配置是为了告诉集群中其他节点如何连接到该节点上。一个集群中该节点的address必须唯一,因为该地址就像一个独一无二的身份id,只有知道该连接,Cassandra集群才可以建立连接
Cassandra需要监听的IP或主机名,默认是localhost。建议配置私有IP,不要用0.0.0.0。
- rpc_address
Cassandra服务器对外提供服务的地址。如果留空,将默认使用服务器的机器名。
Client连接到服务端用的是rpc_address。有两种方式,thrift和NativeTransport(CQL)这两个都是用的rpc_address。接口不一样。如果rpc_address没设置就用listen_address
- rpc_port
Cassandra服务器对外提供服务的端口号。
- broadcast_address
(默认: listen_address)注一个节点告诉集群中其他节点与它联系的IP地址。它允许共有和私有地址不相同。比如说,在不是所有的节点可以访问其他节点的拓扑结构的时候,使用私有IP地址的broadcast_address参数。
- listen_on_broadcast_address
(默认: false) 果你使用多物理网络接口,把这个属性和listen_address都设置成ture。这样允许节点在两个接口上通信。 如果网络会在共有和私有网络之间自动路由,就把该属性设置成false,就像亚马逊EC2那样做。
- broadcast_rpc_address
(默认: unset)注广播到驱动和其他Cassandra节点的RPC地址。不能设置成0.0.0.0。如果为空,就被设置成rpc_address或者rpc_interface的值。如果rpc_address或者 rpc_interfaceis设置成了0.0.0.0,那么该属性必须要设置。