【问题标题】:Cassandra error during read - NoHostAvailableException: All host(s) tried for query failed (no host was tried)读取期间出现 Cassandra 错误 - NoHostAvailableException:尝试查询的所有主机都失败(未尝试任何主机)
【发布时间】:2019-03-14 00:26:54
【问题描述】:

我查看了thisthis,但找不到任何解决方案。

我仅在读取查询期间收到“未尝试主机”错误。写信给 cassandra 效果很好。我正在使用 datastax cassandra java 驱动程序 - 3.3.0。

我正在尝试以下读取查询作为“健康检查”:

SELECT * from counter_table;

创建集群的一些代码sn-p:

Cluster cluster = Cluster.builder()
    .addContactPointsWithPorts(convertToInternetAddress())
    .withAuthProvider(authProvider)
    .withPoolingOptions(poolingOptions)
    .withRetryPolicy(cassandraRetryPolicy)
    .build();

编辑 1:我更新了第一次出现此错误的示例查询。我正在查询一个带有计数器字段的表,但没有给出任何分区键。但是表中只有5条记录

编辑 2:减少集群池超时似乎已修复它。知道为什么吗?

【问题讨论】:

  • 您能分享一些发生此错误的示例代码吗?
  • @Mandraenke 这是一个工作代码,读取停止工作。我添加了一个失败的查询。
  • @Mandraenke 我添加了一些包含更多信息的编辑
  • “但是,表中只有 5 条记录” - 对,但它们可以存储在 5 个不同的节点上。即使是带有未绑定查询的小负载也可能很糟糕。
  • @Aaron 为什么会减少集群池超时来修复它?我把它改成 5000 到 10000 毫,它开始工作了。

标签: cassandra datastax-java-driver


【解决方案1】:

我终于明白了。我正在使用多个会话,其中一个会话即将关闭。 使用已关闭会话的查询出现此错误。

【讨论】:

    猜你喜欢
    • 2016-02-13
    • 2021-01-30
    • 2017-02-17
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2021-09-11
    相关资源
    最近更新 更多