cassandra.yaml 配置 (非原创,侵删)
Copy from: http://blog.csdn.net/y_h_t/article/details/11917531
Cassandra中所有的运行配置都是在配置文件cassandra.yaml中进行配置。
下面依次讲解Cassandra中的配置项:
cluster_name
设置Cassandra集群的名称。
在Cassandra集群中,每一台服务器都必须具备相应的集群的名称。如果名称不一致,则当前Cassandra服务器无法加入集群。
initial_token
Cassandra服务器的初始化Token值,这个值代表了Cassandra服务器在一致性哈希环中的位置。
当Cassandra第一次启动的时候,会从该配置项中读取,如果留空,将随机生成一个Token值。如果Cassandra不是第一次启动,将从系统表中读取该Token值。
auto_bootstrap
第一次启动的时候,是否在加入Cassandra集群时从其他服务器获取属于本服务器的数据。
如果当前Cassandra服务器不在seed配置选项中,并且是第一次启动,将从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.OrderPreservingPartitioner
4. org.apache.cassandra.dht.CollatingOrderPreservingPartitioner
data_file_directories
SSTable文件在磁盘中的存储位置。
这个选项可以设置多个值,即如果服务器具有多个磁盘,可以将这几个磁盘都指定为存储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文件的大小。
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时才能设置。
seeds
Cassandra集群中的种子节点地址
这个选项可以设置多个值,即Cassandra集群中有多个种子节点。
集群中所有的服务器在启动的时候,都将于seed节点进行通信,从而获取集群的相关信息。如果某一台服务器被设置为seed节点,那么在启动的时候,将自动加入集群,并且不会执行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
并发写入的线程数。
这个选项设置得越大,Cassandra在进行写入操作时可以使用的线程数就越多。
memtable_flush_writers
memtable中的数据写入到磁盘成为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_reset_interval_in_ms
dynamic_snitch_badness_threshold
request_scheduler
设置资源调度分配策略
Cassandra中定义了一系列网络的选择策略,可以选择的项为:
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_seconds:定义Column Family中的持久化row缓存的时间间隔,如果为0,关闭持久化row缓存功能。
key_cache_save_period_in_seconds:定义Column Family中的持久化key缓存的时间间隔,如果为0,关闭持久化key缓存功能。
gc_grace_seconds:定义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. LongType
6. IntegerType
column_metadata:定义二级索引的属性。
name:定义需要进行二级索引的Column名称。
validator_class:定义Column Family中校验值的类型规则。可选的项为:
1. AsciiType
2. UTF8Type
3. LexicalUUIDType
4. TimeUUIDType
5. LongType
6. IntegerType
index_type:定义二级索引的类型,目前支持的选项为:KEYS
cassandra.yaml 配置 (非原创,侵删)的更多相关文章
- Cassandra.yaml 配置详解
cluster_name 设置Cassandra集群的名称. 在Cassandra集群中,每一台服务器都必须具备相应的集群的名称.如果名称不一致,则当前Cassandra服务器无法加入集群. init ...
- 老男孩Django笔记(非原创)
.WEB框架 MVC Model View Controller 数据库 模板文件 业务处理 MTV Model Template View 数据库 模板文件 业务处理 ############## ...
- 转发自:一像素 十大经典排序算法(动图演示)原链接:https://www.cnblogs.com/onepixel/articles/7674659.html 个人收藏所用 侵删
原链接:https://www.cnblogs.com/onepixel/articles/7674659.html 个人收藏所用 侵删 0.算法概述 0.1 算法分类 十种常见排序算法可 ...
- cassandra安装配置
准备运行环境1.1 cassandra可以安装在windows和linux下,本例子安装在centos6.7的环境下.1.2 关闭防火墙.或者开放9042(默认的CQL本地服务端口).9160(默认的 ...
- API网关服务Zuul-Spring Cloud学习第五天(非原创)
文章大纲 一.Zuul是什么二.Zuul的基本实现三.路由配置细节四.异常处理细节五.项目源码与参考资料下载六.参考文章 一.Zuul是什么 到目前为止,我们Spring Cloud中的内容已 ...
- SpringBoot配置文件 application.properties,yaml配置
SpringBoot配置文件 application.properties,yaml配置 1.Spring Boot 的配置文件 application.properties 1.1 位置问题 1.2 ...
- Cassandra 配制 cassandra.yaml
一.设置用户名和密码 修改cassandra.yaml配置文件 把默认的 authenticator: AllowAllAuthenticator 改成 authenticator: Password ...
- Linux下high CPU分析心得【非原创】
非原创,搬运至此以作笔记, 原地址:http://www.cnitblog.com/houcy/archive/2012/11/28/86801.html 1.用top命令查看哪个进程占用CPU高ga ...
- CSS样式命名整理(非原创)
非原创,具体出自哪里忘了,如果侵害您的利益,请联系我. CSS样式命名整理 页面结构 容器: container/wrap 整体宽度:wrapper 页头:header 内容:content 页面主体 ...
随机推荐
- 统一我的博客文章的CSS样式代码
一.前因后果 之前写博客的时候也有写一些CSS代码来美化,不过都是凌乱的,每次再写一篇,又得重头来过去想,或者去拷贝原来的CSS设置.由于逻辑性不强,找一个配套的格式出来要花费不少时间. 今天我把部分 ...
- 存储linux RAID6被重建成RAID5的数据恢复解决方案
数据恢复故障描述:原存储为12块2T硬盘组成的Linux RAID6,文件系统均为EXT3,此存储上划有3个LUN,每个均为6TB大小,某天在RAID失效后,维护人员为了抢救数据,对此失效的存储重进行 ...
- Java集合总结系列2:Collection接口
Collection 接口是 Java 集合类的一个根接口,Java 在 Collection 接口中定义了许多通用的数据操作类方法以及判断类方法. 通过查看 API 文档或源码的方式,我们可以了解到 ...
- jenkins容器权限被被拒绝
问题,我们从官网上面pull下jenkins后,如果直接运行容器的没问题 docker run -d -p 8080:8080 -v jenkins:latest 不过我们可能需要映射下容器内部的地址 ...
- PHP初学者如何搭建环境,并在本地服务器(or云端服务器)运行自己的第一个PHP样例
页面底部有PHP代码样例供测试使用. 1.PHP开发,你需要什么? 1)开发代码的工具,可以用IDE名字叫做phpDesigner.当然也可以临时用记事本代替,记得文件扩展名为.php 2)服务器(本 ...
- web前端概念巩固(一)
h5: 1.web语义化 Web语义化是指在进行HTML结构.表现.行为设计时,尽量使用语义化的标签,使程序代码简介明了,易于进行Web操作和网站SEO,方便团队协作的一种标准,以图实现一种" ...
- TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。
#三次握手 客户端向服务器端发送SYN包,客户端进入SYN_SEND状态 服务器端收到客户端发送的包返回ACK+SYN包,服务器端进入SYN_RECV状态 客户端收到服务器端返回的包再发回ACK包,客 ...
- bzoj4784 [Zjoi2017]仙人掌
Description 如果一个无自环无重边无向连通图的任意一条边最多属于一个简单环,我们就称之为仙人掌.所谓简单环即不经过重复的结点的环. 现在九条可怜手上有一张无自环无重边的无向连通图,但是她觉得 ...
- DFB系列 之 SetCooperativeLevel协作级别
1. 函数原型解析 函数声明 function SetCooperativeLevel(hWnd: HWND; dwFlags: DWORD): HResult; stdcall; 设置指定的IDir ...
- java 无法连接ftp服务器(500 OOPS: cannot change directory)
在使用java连接ftp服务器时可能会出现无法连接的情况,检查代码是没有错误的,这时就应该考虑一下服务器端的情况了: 首先用在本地打开命令窗口,输入:ftp ftp服务器IP,窗口会提示你输入用户名密 ...