Cassandra的节点之间交互(gossip)

简介:

 在讲gossip之前,首先定义什么是Cassandra实例。

Cassandra实例:

是一组在集群中的独立节点,所有的节点是对等的。

 

Cassandra节点之间的交互:

 

Cassandra节点之间通过gossip协议(最终一致性原理)来发现其他集群中节点的位置和状态信息。这个gossip协议是peer-to-peer的,不同节点定期(每秒最多和3个其他节点)交换状态信息,这些信息带版本号,所以旧信息会被新的覆盖掉。节点信息配置在cassandra.yaml文件中。

 

 

种子节点(节点的代表):

当节点第一次启动时,它会去查配置文件cassandra.yaml从而得到它属于的集群名称,但是它如何获得集群中其他节点的信息呢?就是通过种子节点(seed node).记住,同一集群中所有的节点的cassandra.yaml中必须有相同的种子节点列表。

选派谁做种子节点没什么特别的意义,仅仅在于新节点加入到集群中时走gossip流程时有用,所以它们没什么特权。

 

Cassandra故障探测:

Gossip 进程(Gossiper)通过每个节点的心跳(heartbeat)来感知每个节点是否还存活。它会考虑到网络状况,负载等因素综合考虑来计算节点心跳时间的临界值。gossip过程中,每个节点都维护着其他节点gossip消息的内部到达次数。在Cassandra中,如果配置phi_convict_threshold,可以调节失败探测的敏感度,从而适应相对不可靠的网络环境,超过这个时间(秒)则被cassandra认为这个节点down了。

节点down了只表示节点暂时与Cassandra集群脱离了,而不是永久脱离。所以,集群中的节点依然会向这个down了的节点定时发送gossip信息来探测是否这个节点恢复了。如果要永久的把这个节点从集群中移除,必须用

 

Cassandra节点故障恢复:

短时间down的恢复:

当一个节点恢复之后,也许它少了一些已经写入其他节点的数据,那么它将从它故障点开始,从其他备份获得数据).

长时间down的恢复:

如果一个节点down的时间超过max_hint_window_in_ms设置的值,则超过这个时间的写操作部分是没办法恢复的。这时候我们可以在所有节点上运行nodetool维护,以确保他们有一致的数据。

 





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/864495,如需转载请自行联系原作者

目录
相关文章
|
3月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
59 1
|
4月前
|
存储 缓存 NoSQL
gossip:借助流言蜚语实现数据一致性
gossip:借助流言蜚语实现数据一致性
73 10
|
5月前
|
网络协议 安全 调度
通过memberlist库实现gossip管理集群以及集群数据交互
通过memberlist库实现gossip管理集群以及集群数据交互
62 5
|
6月前
分布式篇问题之集群(Cluster)模式主控节点的高可用性问题如何解决
分布式篇问题之集群(Cluster)模式主控节点的高可用性问题如何解决
|
8月前
|
消息中间件 存储 缓存
Kafka【基础知识 02】集群+副本机制+数据请求+物理存储+数据存储设计(图片来源于网络)
【2月更文挑战第20天】Kafka【基础知识 02】集群+副本机制+数据请求+物理存储+数据存储设计(图片来源于网络)
161 1
|
8月前
|
分布式数据库 数据库 容器
揭秘 Gossip 协议:节点之间的悄悄话
揭秘 Gossip 协议:节点之间的悄悄话
407 0
|
8月前
|
存储 运维 NoSQL
深入理解Redis集群模式、协议、元数据维护方式
深入理解Redis集群模式、协议、元数据维护方式
320 0
|
存储 人工智能
分布式与集群(一):我眼中的分布式与集群
我们国家的优势:我们相比其他国家拥有天然的人口优势;人多了,需求便来,如何做到服务好这么多人,面临很大的挑战,同时也蕴藏着巨大的机会;当然也催生了以BAT为代表的一批互联网公司的诞生,我们的技术也进入世界一流水平;
173 9
|
存储
Zookeeper 数据模型和节点特性
Zookeeper 数据模型和节点特性
85 0

热门文章

最新文章