[转载]详解Cassandra配置文件配置项

更新时间:2023-06-15 09:51:14 阅读: 评论:0

[转载]详解Cassandra配置⽂件配置项
Cassandra中所有的运⾏配置都是在配置⽂件cassandra.yaml中进⾏配置。
下⾯依次讲解Cassandra中的配置项:
cluster_name
设置Cassandra集群的名称。
在Cassandra集群中,每⼀台服务器都必须具备相应的集群的名称。如果名称不⼀致,则当前Cassandra服务器⽆法加⼊集群。
initial_token
Cassandra服务器的初始化Token值,这个值代表了Cassandra服务器在⼀致性哈希环中的位置。
当Cassandra第⼀次启动的时候,会从该配置项中读取,如果留空,将随机⽣成⼀个Token值。如果Cassandra不是第⼀次启动,将从系统表中读取该Token值。
auto_bootstrap
第⼀次启动的时候,是否在加⼊Cassandra集群时从其他服务器获取属于本服务器的数据。
如果当前Cassandra服务器不在ed配置选项中,并且是第⼀次启动,将从Cassandra集群中其他服务器获取属于本服务器的数据。
hinted_handoff_enabled
是否开启当前Cassandra服务器的HINT操作。
如果开启该功能,Cassandra服务器将缓存发送给暂时失效的其他Cassandra服务器的数据,等待失效的服务器恢复后,再将缓存的数据发送给恢复的服务器。
authenticator
验证使⽤Cassandra的⽤户是否合法,这是安全认证的第⼀步。
Cassandra中定义了⼀系列验证⽤户的策略,可以选择的项为:
1. org.apache.cassandra.auth.AllowAllAuthenticator
所有的⽤户都是合法的。
2. org.apache.cassandra.auth.SimpleAuthenticator
合法的⽤户和对应的密码都在passwd.properties⽂件中定义。
authority
验证该⽤户是否具备操作某⼀个Column Family的权限,这是安全认证的第⼀步。
Cassandra中定义了⼀系列验证⽤户权限的策略,可以选择的项为:
1. org.apache.cassandra.auth.AllowAllAuthority
所有的⽤户具备所有的权限。
2. org.apache.cassandra.auth.SimpleAuthority
合法的⽤户和对应的权限都在access.properties⽂件中定义。
partitioner
Cassandra集群中数据分区的策略。
同⼀个Cassandra集群中的每⼀台服务器中的该配置需要⼀致。
Cassandra中定义了⼀系列数据分区的策略,可以选择的项为:
1. org.apache.cassandra.dht.RandomPartitioner
2. org.apache.cassandra.dht.ByteOrderedPartitioner
3. org.apache.cassandra.dht.OrderPrervingPartitioner
4. org.apache.cassandra.dht.CollatingOrderPrervingPartitioner
data_file_directories
SSTable⽂件在磁盘中的存储位置。belgrade
这个选项可以设置多个值,即如果服务器具有多个磁盘,可以将这⼏个磁盘都指定为存储SSTable⽂件的位置。如果可能,可以考虑将data_file_directories和commitlog_directory设置在不同的磁盘中,这样有利于分散整体系统的磁盘I/O的压⼒。
commitlog_directory
中译英在线翻译器commitlog⽂件在磁盘中的存储位置。
如果可能,可以考虑将data_file_directories和commitlog_directory设置在不同的磁盘中,这样有利于分散整体系统的磁盘I/O的压⼒。
saved_caches_directory
数据缓存⽂件在磁盘中的存储位置。
commitlog_rotation_threshold_in_mb
每⼀个commitlog⽂件的⼤⼩。
疯狂坦克3
commitlog_sync
记录commitlog的⽅式。
可以选择的项为:
1. periodic
周期记录commitlog,每⼀次有数据更新都将操作commitlog。
2. batch
批量记录commitlog,每⼀段时间内数据的更新将批量⼀次操作commitlog。
commitlog_sync_period_in_ms
周期记录commitlog时,刷新commitlog⽂件的时间间隔。这个选项只有在commitlog_sync= periodic时才能设置。
commitlog_sync_batch_window_in_ms
批量记录commitlog时,批量操作缓存的时间间隔。这个选项只有在commitlog_sync= batch时才能设置。begun怎么读
eds
Cassandra集群中的种⼦节点地址
这个选项可以设置多个值,即Cassandra集群中有多个种⼦节点。
集群中所有的服务器在启动的时候,都将于ed节点进⾏通信,从⽽获取集群的相关信息。如果某⼀
台服务器被设置为ed节点,那么在启动的时候,将⾃动加⼊集群,并且不会执⾏Bootstrap的操作,即⽆法从集群的其他节点中获取相应的数据。
disk_access_mode
Cassandra访问SSTable⽂件中的Data⽂件和Index⽂件时是否使⽤虚拟内存映射的形式。
可以选择的项为:
1. auto
⾃动选择合适的⽂件访问形式,如果是64位系统,则为mmap形式,否则为standard形式。
2. mmap
访问SSTable⽂件中的Data⽂件和Index⽂件时,都采⽤虚拟内存映射的形式。
3. mmap_index_only
访问SSTable⽂件中的Index⽂件时采⽤虚拟内存映射的形式。
4. standard
访问SSTable⽂件中的Data⽂件和Index⽂件时,都不采⽤虚拟内存映射的形式。
使⽤虚拟内存映射的形式访问⽂件能够加快对⽂件的读写速度,但是这是以消耗⽽外的内存作为代价的。所以要根据实际内存⼤⼩与⽂件⼤⼩来选择合适的⽂件访问⽅式。
concurrent_reads
并发读取的线程数。
这个选项设置得越⼤,Cassandra在进⾏读取操作时可以使⽤的线程数就越多。推荐的配置为:CPU的个数*2。
concurrent_writes
borrow的过去式并发写⼊的线程数。
这个选项设置得越⼤,Cassandra在进⾏写⼊操作时可以使⽤的线程数就越多。
memtable_flush_writers
ozzymemtable中的数据写⼊到磁盘成为SSTable⽂件的并发数。
这个选项的默认配置为data_file_directories中指定的⽬录的个数。
sliced_buffer_size_in_kb
进⾏范围读取操作时,读取SSTable⽂件使⽤的缓存⼤⼩。
storage_port
Cassandra集群中服务器与服务器之间相互通信的端⼝号。
listen_address
Cassandra集群中服务器与服务器之间相互通信的地址。如果留空,将默认使⽤服务器的机器名。
rpc_address
Cassandra服务器对外提供服务的地址。如果留空,将默认使⽤服务器的机器名。
rpc_port
Cassandra服务器对外提供服务的端⼝号。
rpc_keepalive
Cassandra服务器对外提供服务连接是否⼀直保持。
thrift_framed_transport_size_in_mb
使⽤Thrift Frame每次传递的数据⼤⼩。如果该选项为0,则禁⽤Thrift Frame。
thrift_max_message_length_in_mb
使⽤Thrift传递的数据最⼤值。
snapshot_before_compaction
Cassandra在执⾏数据压缩操作前,是否对需要压缩的SSTable⽂件做数据快照(snapshot)。
binary_memtable_throughput_in_mb
binary memtable的缓存⼤⼩。
binary memtable⽤于⼤量数据的初始化操作。
column_index_size_in_kb
SSTable⽂件中的Data⽂件对应Column索引的数据⼤⼩间隔。如果这个值越⼩,在Column索引中找到相应的值速度就越快,但是会消耗更多的内存与磁盘空间。
in_memory_compaction_limit_in_mb
在Cassandra执⾏数据压缩时,如果某⼀个key对应的数据的⼤⼩超过了in_memory_compaction_limit_in_mb的限制,将采⽤延后压缩的机制进⾏压缩,避免使⽤过多的内存。
rpc_timeout_in_ms
如果Cassandra服务器在处理外部请求的时候,如果超过了rpc_timeout_in_ms的限制,将抛出超时异常给调⽤的客户端。
endpoint_snitch
Cassandra集群中⽹络的选择策略。
Cassandra中定义了⼀系列⽹络的选择策略,可以选择的项为:
1. org.apache.cassandra.locator.SimpleSnitch
2. org.apache.cassandra.locator.RackInferringSnitch
3. org.apache.cassandra.locator.PropertyFileSnitch
dynamic_snitch
是否启⽤动态的节点选择策略。启动该选项可以在做有效地避免相应缓慢的节点。
和这个选项相关的其他选项为:
dynamic_snitch_update_interval_in_ms
dynamic_snitch_ret_interval_in_ms
dynamic_snitch_badness_threshold
request_scheduler
设置资源调度分配策略
Cassandra中定义了⼀系列⽹络的选择策略,可以选择的项为:unfold
1. org.apache.cassandra.scheduler.NoScheduler
所有的请求分配的计算资源都是均等的。
2. org.apache.cassandra.scheduler.RoundRobinScheduler
对不同的Keyspace分配不同的计算资源。
在多租户的情况下适合使⽤RoundRobinScheduler。
index_interval
SSTable⽂件中的Index⽂件对应内存索引的数据⼤⼩间隔。如果这个值越⼩,在内存索引中找到相应的值速度就越快,但是会消耗更多的内存。
keyspaces
定义Keyspace的属性。
name:定义keyspace的名称。
replica_placement_strategy:定义数据的备份策略,可选的项为:
1. org.apache.cassandra.locator.SimpleStrategy
2. org.apache.cassandra.locator.OldNetworkTopologyStrategy
3. org.apache.cassandra.locator.NetworkTopologyStrategy
4. org.apache.cassandra.locator.LocalStrategy
replication_factor:定义数据的备份数。
column_families:定义Column Family的属性
column_type:定义Column Family的类型。可以设置为Super或者Standard,如果不设置,为Standard类型。
compare_with:Column名称的排序规则。可选的项为:
1. AsciiType
2. UTF8Type
3. LexicalUUIDType
4. TimeUUIDType
5. LongType
6. IntegerType
compare_subcolumns_with:SuperColumn下的Column名称的排序规则。可选的项为:
1. AsciiType
2. UTF8Type
3. LexicalUUIDType
4. TimeUUIDType
5. LongType
6. IntegerType
rows_cached:row缓存的数量,可以为整数或者百分⽐。
keys_cached:key缓存的数量,可以为整数或者百分⽐。
row_cache_save_period_in_conds:定义Column Family中的持久化row缓存的时间间隔,如果为0,关闭持久化row缓存功能。
key_cache_save_period_in_conds:定义Column Family中的持久化key缓存的时间间隔,如果为0,关闭持久化key缓存功能。pickup
gc_grace_conds:定义Column Family中数据标记为删除后到真正进⾏物理删除的时间间隔,如果不设置,默认为10天(864000秒)。memtable_flush_after_mins:定义Column Family中memtable最⼤的⽣存时间。
memtable_throughput_in_mb:定义Column Family中memtable最⼤缓存的数据⼤⼩。
memtable_operations_in_millions:定义Column Family中memtable最⼤缓存的数据条数。
min_compaction_threshold:定义Column Family中执⾏数据压缩的最⼩SSTable⽂件数。
max_compaction_threshold:定义Column Family中执⾏数据压缩的最⼤SSTable⽂件数。
default_validation_class:定义Column Family中默认校验值的类型规则。可选的项为:
1. AsciiType
2. UTF8Type
3. LexicalUUIDType
4. TimeUUIDType
5. LongTypeemerge
6. IntegerType
column_metadata:定义⼆级索引的属性。
name:定义需要进⾏⼆级索引的Column名称。
validator_class:定义Column Family中校验值的类型规则。可选的项为:
1. AsciiType
2. UTF8Type
3. LexicalUUIDType
4. TimeUUIDType
5. LongType
6. IntegerType
agf
index_type:定义⼆级索引的类型,⽬前⽀持的选项为:KEYS
[源⾃]

本文发布于:2023-06-15 09:51:14,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/959395.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务器   数据   缓存
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图