【问题标题】:Cassandra No host exception and Unable to connect to any serversCassandra 没有主机异常并且无法连接到任何服务器
【发布时间】:2019-10-08 21:03:41
【问题描述】:

我们有一个 12 节点的 cassandra 集群,分布在 2 个数据中心,每个数据中心有 6 个节点。尝试登录 cqlsh 时,大多数节点都出现以下错误,只允许登录一个节点:

Connection error: ('Unable to connect to any servers', {'<server_IP>': OperationTimedOut('errors=Timed out creating connection (5 seconds), last_host=None',)})

我看到的唯一区别是它正在运行的节点没有阻止对 Native-Transport-Requests 的请求。这可能是问题吗?这是其中一个节点不工作的 tpstats 输出。

我们还有 2 个网络应用程序正在运行,一个从 cassandra 读取数据,另一个向它写入数据。我们还看到这个 .net 应用程序经常以 Cassandra No host exception 关闭。这是因为同样的原因吗?

【问题讨论】:

  • 很可能一些查询运行时间很长,并且通过堆积新请求在那里 - 需要检查和确认的几件事,1. 尝试增加 max_queued_native_transport_requests。 2.查看运行缓慢的查询 - 可能你会在那里找到根本原因并可以修复它 - 例如聚合查询或扫描所有分区的查询等。

标签: c# cassandra cassandra-3.0


【解决方案1】:

升级 cassandra 集群后,我遇到了同样的错误。我看到@Parth Gandhi 的关于阻塞本机传输的帖子,并意识到我们已将 native_transport_max_threads 设置为零,认为它会将其设置为无限制。实际上日志中没有关于它的错误,所以这很奇怪。一旦我从 cassandra.yaml 中注释掉 native_transport_max_threads 的参数并反弹节点,我终于可以再次连接到集群了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2016-03-02
    • 1970-01-01
    • 2016-12-17
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多