Scylladb 主要配置参数详解

栏目: 数据库 · 发布时间: 7年前

内容简介: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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java高并发编程详解

Java高并发编程详解

汪文君 / 机械工业出版社 / 2018-6 / 89.00元

本书共分为四个部分:部分详细地介绍了Java多线程的基本用法和各个API的使用,并且着重介绍了线程与Java虚拟机内存之间的关系。第二部分由线程上下文类加载器方法引入,介绍为什么在线程中要有上下文类加载器的方法函数,从而掌握类在JVM的加载和初始化的整个过程。第三部分主要围绕着volatile关键字展开,在该部分中我们将会了解到现代CPU的架构以及Java的内存模型(JMM)。后一部分,主要站在架......一起来看看 《Java高并发编程详解》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具