nodetool describecluster列出所有无法访问的节点

whhtz7ly  于 2021-06-09  发布在  Cassandra
关注(0)|答案(1)|浏览(313)

我在两个公共网络上部署cassandra,当节点启动时,我可以看到所有节点都加入了环。也 nodetool describecluster 显示所有节点都可访问。
过了一段时间,我发现节点之间无法连接 nodetool describecluster 显示无法访问列表中的所有节点。
仅供参考,我已使用公共ip作为广播地址和rpc地址。侦听地址是专用ip地址。

67up9zun

67up9zun1#

发生这种情况的一个原因是,防火墙有时被配置为查找和终止空闲连接。linux内核有默认的tcp“keepalive”设置,可以用来刷新长时间运行的连接。这些设置的默认值可以使用 sysctl :

$ sudo sysctl -a | grep keepalive
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200

为了解决此问题,datastax建议在生产部署中调整这些值:

$ sudo sysctl -w \
net.ipv4.tcp_keepalive_time=60 \
net.ipv4.tcp_keepalive_probes=3 \
net.ipv4.tcp_keepalive_intvl=10

您还可以将这些值中的每一个添加到系统的 /etc/sysctl.conf 文件(减去反斜杠)并通过 sysctl 也:

sudo sysctl -p /etc/sysctl.conf

相关问题