内容简介:Scylladb 主要配置参数详解
Scylladb 有两个配置文件分别是
/etc/sysconfig/scylla-server 启动参数文件 /etc/scylla/scylla.yaml 主要配置文件
主要配置文件中的主要参数详解:
batch_size_warn_threshold_in_kb: 5
(默认: 每一批5KB) 任何批量大小超过此值(kb)的日志告警。增加该值得时候一定要小心,因为可能引起节点不稳定。
cluster_name: Test Cluster
设置Cassandra集群的名称。在Cassandra集群中,每一台服务器都必须具备相应的集群的名称。如果名称不一致,则当前Cassandra服务器无法加入集群。
commitlog_directory:/var/lib/scylla/commitlog
commitlog文件在磁盘中的存储位置。如果可能,可以考虑将data_file_directories和commitlog_directory设置在不同的磁盘中,这样有利于分散整体系统的磁盘I/O的压力。
commitlog_segment_size_in_mb: 32
(默认: 32MB)设置每个独立的commitlog文件段的大小。一个commitlog段在它的所有数据都被刷新到SSTables以后,可能被存档,删除,或者回收。这个数据量可能包括系统中每一个表的commitlog段。默认的大小一般适用于大部分的commitlog存档,但是如果你想要一个更细的粒度,8或者16MB也是合理的。
commitlog_sync: periodic
记录commitlog的方式。可以选择的项为: 1. periodic 周期记录commitlog,每一次有数据更新都将操作commitlog。 2. batch 批量记录commitlog,每一段时间内数据的更新将批量一次操作commitlog。
commitlog_sync_period_in_ms: 10000
周期记录commitlog时,刷新commitlog文件的时间间隔。这个选项只有在commitlog_sync= periodic时才能设置。
commitlog_total_space_in_mb: -1
commit logs使用的总的空间。如果使用的空间超过了这个值,Cassandra转到下一个最近的段,刷新那些最旧的commitlog 段对应的memtables到磁盘中,删除这些log段。这减少了启动时重播的数据量,防止不经常更新的表不定期的保留commitlog段。一个小的commitlog总空间会导致不活跃的表产生更频繁的刷新活动。
data_file_directories: [/var/lib/scylla/data]
SSTable文件在磁盘中的存储位置。 这个选项可以设置多个值,即如果服务器具有多个磁盘,可以将这几个磁盘都指定为存储SSTable文件的位置。如果可能,可以考虑将data_file_directories和commitlog_directory设置在不同的磁盘中,这样有利于分散整体系统的磁盘I/O的压力。
endpoint_snitch: SimpleSnitch
Cassandra集群中网络的选择策略。 Cassandra中定义了一系列网络的选择策略,可以选择的项为: • SimpleSnitch用于单数据中心部署或者公共云中的单个区域。不识别数据中心或者机架信息。它视策略顺序为接近,当忽略读修复时可以提高缓存局部性。•GossipingPropertyFileSnitch建议生产使用。本地节点机架和数据中心定义在cassandra-rackdc.properties文件里,通过八卦协议传播到其他节点。为了便于从PropertyFileSnitch移植,它也使用cassandra-topology.properties,如果存在的话。• PropertyFileSnitch决定于机架和数据中心的距离,这是明确的在cassandratopology.properties文件里配置的。
listen_address: 172.17.0.3
Cassandra集群中服务器与服务器之间相互通信的地址。如果留空,将默认使用服务器的机器名。
murmur3_partitioner_ignore_msb_bits: 12
num_tokens: 256
(默认: 256) 注定义当在环中使用虚拟节点的时候随机分配给该节点的token的数量。相对于其他节点来说,越多token,该节点存储数据的比例就越大。一般情况下所有节点都应该有相同数量的token,在硬件容量相同的情况下。推荐的值是256。如果未指定(#num_tokens),Cassandra使用1(相当于#num_tokens : 1)来兼容遗留系统,而且使用initial_token设置。如果不使用虚拟节点,注释#num_tokens : 256或者设置num_tokens : 1然后使用initial_token。如果你有一个已经存在的集群,使用的是每个节点一个token,而且希望迁移到虚拟节点上
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
Cassandra集群中数据分区的策略。 同一个Cassandra集群中的每一台服务器中的该配置需要一致。
read_request_timeout_in_ms: 5000
(默认: 5000 毫秒)协调者等待读操作完成的时间
rpc_address: 172.17.0.3
Cassandra服务器对外提供服务的地址。如果留空,将默认使用服务器的机器名。
rpc_port: 9160
Cassandra服务器对外提供服务的端口号。
seed_provider:
class_name: org.apache.cassandra.locator.SimpleSeedProvider
ssandra用来处理种子逻辑的类。它可以定制,但是通常不需要。
parameters:{seeds: 172.17.0.3}
一个逗号分隔的IP地址列表,gossip用来引导新节点加入集群中去。当多个节点在运行时,你必须修改默认的列表。在多数据中心的集群中,种子节点至少包含一个每个数据中心的一个地址是个不错的主意。为了容错考虑,推荐每个数据中心指定超过一个种子节点。否则,gossip在引导一个新节点时不得不和另外一个数据中心通信了。不推荐把每个节点都当成种子节点,因为增加了维护成本和减少了gossip的性能。Gossip优化不是关键,但建议使用较少的种子列表。
write_request_timeout_in_ms: 10000
(默认: 2000 毫秒) 协调者等待写操作完成的时间。
prometheus_port : 9180
默认情况下,Scylla在端口9180上打开prometheus API端口。将端口设置为0将禁用prometheus API。
prometheus_address : 0.0.0.0
默认情况下,Scylla将所有接口绑定到prometheus API 。可以将侦听地址限制为特定的一个
启动参数文件中的参数详解:
NETWORK_MODE=posix
TAP=tap0
tap device name(virtio)
BRIDGE=virbr0
bridge device name (virtio)
IFNAME=eth0
ethernet device name
SET_NIC=no
setup NIC's interrupts, RPS, XPS (posix)
ETHDRV=
ethernet device driver (dpdk)
ETHPCIID=
ethernet device PCI ID (dpdk)
NR_HUGEPAGES=64
number of hugepages
USER=scylla
user for process (must be root for dpdk)
GROUP=scylla
group for process
SCYLLA_HOME=/var/lib/scylla
scylla home dir
SCYLLA_CONF=/etc/scylla
scylla config dir
SCYLLA_ARGS="--log-to-syslog 0 --log-to-stdout 1 --default-log-level info --collectd-address=127.0.0.1:25826 --collectd=1 --collectd-poll-period 3000 --network-stack posix"
AMI=no
setup as AMI instance
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。