gpt4 book ai didi

java - Cassandra NoHostAvailableException : All host(s) tried for query failed in Production

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:32:05 26 4
gpt4 key购买 nike

我们有 10 个运行 Cassandra-2.1.8 的 Cassandra 节点。我们最近升级到 2.1.8 版本。以前我们只使用 3 个运行 Cassandra-2.1.2 的节点。首先,我们将最初的 3 个节点从 2.1.2 升级到 2.1.8(遵循 Upgrading Cassandra 中描述的过程)。然后我们在集群中添加了 7 个运行 Cassandra-2.1.8 的节点。然后我们开始了我们的客户端程序。最初几个小时一切正常,但几个小时后,我们在客户端程序日志中看到一些错误,例如

Thread-0 [29/07/15 17:41:23.356] ERROR  com.cleartrail.entityprofiling.engine.InterpretationWriter - Error:com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: [/172.50.33.161:9041, /172.50.33.162:9041, /172.50.33.95:9041, /172.50.33.96:9041, /172.50.33.165:9041, /172.50.33.166:9041, /172.50.33.163:9041, /172.50.33.164:9041, /172.50.33.42:9041, /172.50.33.167:9041] - use getErrors() for details)
at com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:65)
at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:259)
at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:175)
at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:52)
at com.cleartrail.entityprofiling.engine.InterpretationWriter.WriteInterpretation(InterpretationWriter.java:430)
at com.cleartrail.entityprofiling.engine.Profiler.buildProfile(Profiler.java:1042)
at com.cleartrail.messageconsumer.consumer.KafkaConsumer.run(KafkaConsumer.java:336)
Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: [/172.50.33.161:9041, /172.50.33.162:9041, /172.50.33.95:9041, /172.50.33.96:9041, /172.50.33.165:9041, /172.50.33.166:9041, /172.50.33.163:9041, /172.50.33.164:9041, /172.50.33.42:9041, /172.50.33.167:9041] - use getErrors() for details)
at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:102)
at com.datastax.driver.core.RequestHandler$1.run(RequestHandler.java:176)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

现在,我仔细检查了防火墙(如几篇文章中所建议的)、端口、客户端超时以及节点,它们都是正确的。

我也不会在两者之间的任何地方关闭连接。我正在使用批量大小为 1000 的批量查询,查询是更新查询,更新我的表中的三列计数器

实体, twfwv, 值

其中 entity 和 twfwv 列是文本和主键,cvalue 是计数器列。

我什至重新启动了我的所有节点(因为当我遇到相同的异常时,这个技巧在我的开发环境中帮助了我)但它没有帮助。请在这里提出可能的问题。

最佳答案

根据 Olivier Michallat 的建议,通过检查 NoHostAvailableException 的错误集合解决了我的问题在评论中。对我来说,这是集群配置上的协议(protocol)版本。我的是空的,将其设置为 3 解决了这个问题。

关于java - Cassandra NoHostAvailableException : All host(s) tried for query failed in Production,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31705443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com