Cassandra 握手和节点间通信

Posted

技术标签:

【中文标题】Cassandra 握手和节点间通信【英文标题】:Cassandra handshake and internode communication 【发布时间】:2013-12-17 06:15:55 【问题描述】:

在尝试使用 cassandra 2.0.1 版本时,我开始面临与版本握手的问题。

OutboundTcpConnection.java 中出现异常,说明无法与特定节点进行握手。

我查看了 TCP 转储,消除了网络层没有问题的疑虑。

应用程序未完成握手过程。此外,端口 7000 仍处于活动状态。

例如,我所有的 8 个节点都 up 。但是当我尝试 nodetool 状态时,一些节点会给出 DN-down 节点状态。后来,经过检查,发现 TCP 积压队列溢出,特定服务器已停止侦听集群中的其他服务器。

我仍然无法发现此问题的根本原因。

注意:我已经尝试过使用以前版本的 cassandra 1.2.4,当时它工作正常。在投入生产之前,我认为最好转到 2.0.x 版本,主要是避免迁移开销。任何人都可以提供一个想法吗?

我得到的例外是

NFO [HANDSHAKE-/aa.bb.cc.XX] 2013-10-03 17:36:16,948 OutboundTcpConnection.java(第 385 行)与 /aa.bb.cc.XX 的握手版本 信息 [HANDSHAKE-/aa.bb.cc.YY] 2013-10-03 17:36:17,280 OutboundTcpConnection.java(第 396 行)无法与 /aa.bb.cc.YY 握手版本

【问题讨论】:

【参考方案1】:

这听起来像https://issues.apache.org/jira/browse/CASSANDRA-6349。你应该升级。

【讨论】:

我在 2.0.3 中也面临着类似的问题。您可以查看上面链接中的帖子吗?

以上是关于Cassandra 握手和节点间通信的主要内容,如果未能解决你的问题,请参考以下文章

节点和C应用程序之间的进程间通信

linux 进程间通信方式

基于TCP协议的进程间通信

Cassandra教程---- 节点间交互(gossip)

使用WebSocket帮助应用程序群集节点间通信

架构设计:系统间通信(23)——提高ActiveMQ工作性能(中)