Cassandra经常被问到的问题(二)

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

内容简介:Cassandra经常被问到的问题(二)

9 我可以通过批量提交加速我的大量写入吗?

不,使用批量提交只会带来延迟尖峰,使用异步的INSERT来代替,或者使用真正的“批量载入”

对同一个分区key的批量更新是一个例外,只要一个批量的大小保持在合理范围内,还是有好处的,但是要记住不要任何时候都盲目使用批量。

10、在Red Hat企业版(RHEL)中,节点无法加入到集群中。

查看SELinux是否开启了,把它关掉。

11、我怎么取消订阅apache cassandra邮件列表

发邮件到user-unsubscribe@cassandra.apache.org

12、为什么使用top命令看到cassandra使用了比 java 虚拟机限制的对内存还要多的内存?

cassandra内部使用内存映射文件(mmap). 也就是锁,我们使用操作系统的虚拟内存系统把一定数量的磁盘文件映射到了cassandra进程的地址空间里。这将使用虚拟内存,也就是地址空间,这可以使用一些 工具 例如top命令发现,不过在64位操作系统中,虚拟地址空间是无限大的,所以你不需要担心这些。

那使用的内存的所代表的意义是什么呢?它是使用brc()或者mmap所实际占用的内存,问题的关键是,对于mmap的文件不一定会永久驻留在内存里。所以这些使用的内存不过是缓存而已,就像系统的IO会使用内核的page缓存一样。

一般的IO和mmap的差别就在于mmap引擎的内存是映射到某个进程上的,所以你用top命令可以看到该进程对应的虚拟内存大小。mmap比IO的一个好处是只要内存里有,你里面就能读到了,不会碰到page fault(读系统page缓存,内核可能需要做semi-context切换?),更多细节参考http://www.varnish-cache.org/trac/wiki/ArchitectNotes

13、种子节点是什么?

种子节点用于节点启动的时候发现整个集群。

如果你配置了你的节点指向几个节点作为种子,那么你集群中的节点会发送相比非种子节点较多的gossip信息到种子节点。换句话说:种子节点相当于gossip网络的集线器,每个节点通过种子节点可以很快知道其他节点的状态。

在一个节点新加入集群的时候,需要指定种子节点用于发现集群中其它节点,当你增加一个新节点到集群中的时候,你需要至少指定一个活着的种子节点可以连接,一旦一个节点加入这个集群,它学习到了其它节点,他在下次启动的时候就不需要种子节点了。

你可以任何时候设置任何一个节点为种子, 对于种子节点没有什么特殊的,只要你把它写入种子列表里,他就是一个种子节点。

种子是无法自启动的(bootstrap)(因为如果一个节点把自己加入了种子列表,那就是说他需要自己传输数据给自己),如果你需要这样,你可以先把这个节点当非种子节点启动,等启动以后再把它加入种子列表里。当然如果你是初始化一个新集群,没有任何数据,那你就不需要担心这个事情了。

提醒以下两点:

为每个Data center都选择大于两个节点作为种子节点

保持你所有节点种子列表是一样的。


以上所述就是小编给大家介绍的《Cassandra经常被问到的问题(二)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

数字化生存

数字化生存

(美)Nicholas Negroponte(尼古拉·尼葛洛庞帝) / 胡泳、范海燕 / 电子工业出版社 / 2017-1-1 / 68.00

《数字化生存》描绘了数字科技为我们的生活、工作、教育和娱乐带来的各种冲击和其中值得深思的问题,是跨入数字化新世界的*指南。英文版曾高居《纽约时报》畅销书排行榜。 “信息的DNA”正在迅速取代原子而成为人类生活中的基本交换物。尼葛洛庞帝向我们展示出这一变化的巨大影响。电视机与计算机屏幕的差别变得只是大小不同而已。从前所说的“大众”传媒正演变成个人化的双向交流。信息不再被“推给”消费者,相反,人们或他......一起来看看 《数字化生存》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换