我有一个多节点 Casssandra 集群(2.2.6)和一个单独的 KairosDB 服务器(1.1.1-1)。在 KairosDB 中,我为它配置了两个 Cassandra 种子节点,并让它自动发现环中的其他 Cassandra 节点。
在将 KairosDB 日志级别调整为 DEBUG 后,我看到只有这两个种子节点在主机池中(并且运行良好)。Hector 发现过程因 NPE 而失败。最后,KairosDB 只使用这两个种子节点。
可能有几个解决方案:
- 将所有节点添加到 kairos 属性,但更难维护。
- 自定义构建一个新的 KairosDB 二进制文件以获得更高版本的 Hector 2.0.0,但如果可能的话,我更喜欢使用官方版本。
你知道解决这个问题的方法吗?谢谢。
08-04|18:54:57.755 [Hector.me.prettyprint.cassandra.connection.NodeAutoDiscoverService-1] 调试 [NodeDiscovery.java:50] - 节点发现正在运行... 08-04|18:54:57.756 [Hector.me.prettyprint.cassandra.connection.NodeAutoDiscoverService-1] 调试 [NodeDiscovery.java:74] - 使用现有主机 [cassandra-seed1(172.16.109.43):9160, cassandra-种子2(172.16.108.51):9160] 08-04|18:54:57.756 [Hector.me.prettyprint.cassandra.connection.NodeAutoDiscoverService-1] 错误 [NodeDiscovery.java:105] - 发现服务尝试连接 CassandraHost 失败 java.lang.NullPointerException:空 在 me.prettyprint.cassandra.connection.NodeDiscovery.discoverNodes(NodeDiscovery.java:79) [hector-core-1.1-4.jar:na] 在 me.prettyprint.cassandra.connection.NodeDiscovery.doAddNodes(NodeDiscovery.java:52) [hector-core-1.1-4.jar:na] 在 me.prettyprint.cassandra.connection.NodeAutoDiscoverService.doAddNodes(NodeAutoDiscoverService.java:45) [hector-core-1.1-4.jar:na] 在 me.prettyprint.cassandra.connection.NodeAutoDiscoverService$QueryRing.run(NodeAutoDiscoverService.java:51) [hector-core-1.1-4.jar:na] 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_101] 在 java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) [na:1.7.0_101] 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_101] 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_101] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_101] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_101] 在 java.lang.Thread.run(Thread.java:745) [na:1.7.0_101] 08-04|18:54:57.756 [Hector.me.prettyprint.cassandra.connection.NodeAutoDiscoverService-1] 调试 [NodeDiscovery.java:62] - 节点发现运行完成。