我在ec2上有6个节点的cassandra集群,很多时候我发现集群中的所有节点都已启动并运行但是当我从客户端执行描述集群时,它会显示某些节点无法访问。
我可以登录个别机器
可以使用cassandra客户端连接到cassandra节点
可以使用JMX连接到各个节点。
答案 0 :(得分:1)
听起来你有listen_address / broadcast_address配置错误。
答案 1 :(得分:0)
我'我使用hector作为Cassandra客户 - 也许你有类似的问题。
在CassandraHost
上,您可以配置ExhaustedPolicy
。默认情况下,如果Cassandra忙,这样的主机将被标记为关闭 - 即使它在线。 Hector每隔retryDownedHostsDelayInSeconds
检查标记为关闭的所有主机。
是否有可能,你的主人忙了一段时间,它被标记下来了,还没有触发重试?