首页 > 解决方案 > 如何修复 cassandra 服务器中未配置的表系统日志?

问题描述

我在 Cassandra 和弹性搜索上有一个 janusGraph 集群。我使用 spring(如果它很重要)和 Cassandra 驱动程序版本 3.6.0。但我不能用数据填充服务器。有错误:

Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: cassandra.xxx.xxxx.xx/xx.x.xx.xxx:9042 (com.datastax.driver.core.exceptions.DriverException: Error preparing query, got ERROR INVALID: unconfigured table systemlog))
    at com.datastax.driver.core.RequestHandler.reportNoMoreHosts(RequestHandler.java:265) ~[cassandra-driver-core-3.6.0.jar!/:na]
    at com.datastax.driver.core.RequestHandler.access$1200(RequestHandler.java:62) ~[cassandra-driver-core-3.6.0.jar!/:na]
    at com.datastax.driver.core.RequestHandler$SpeculativeExecution.findNextHostAndQuery(RequestHandler.java:357) ~[cassandra-driver-core-3.6.0.jar!/:na]
    at com.datastax.driver.core.RequestHandler$SpeculativeExecution.retry(RequestHandler.java:539) ~[cassandra-driver-core-3.6.0.jar!/:na]
    at com.datastax.driver.core.RequestHandler$SpeculativeExecution.access$2300(RequestHandler.java:307) ~[cassandra-driver-core-3.6.0.jar!/:na]
    at com.datastax.driver.core.RequestHandler$SpeculativeExecution$2.onSet(RequestHandler.java:863) ~[cassandra-driver-core-3.6.0.jar!/:na]
    at com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1233) ~[cassandra-driver-core-3.6.0.jar!/:na]
    at com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1151) ~[cassandra-driver-core-3.6.0.jar!/:na]
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287) ~[netty-handler-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) ~[netty-codec-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:328) ~[netty-codec-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:302) ~[netty-codec-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at com.datastax.driver.core.InboundTrafficMeter.channelRead(InboundTrafficMeter.java:38) ~[cassandra-driver-core-3.6.0.jar!/:na]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1421) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) ~[netty-transport-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:794) ~[netty-all-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:424) ~[netty-all-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:326) ~[netty-all-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918) ~[netty-common-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.39.Final.jar!/:4.1.39.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.39.Final.jar!/:4.1.39.Final]
    ... 1 common frames omitted

我在 Cassandra 中手动安装了键空间和表。但错误并没有消失。我该如何解决这个错误?

标签: javaspringelasticsearchcassandrajanusgraph

解决方案


此错误中的重要一点是NoHostAvailableException

Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: \
  All host(s) tried for query failed ( \
    tried: cassandra.xxx.xxxx.xx/xx.x.xx.xxx:9042 ( \
      com.datastax.driver.core.exceptions.DriverException: \
      Error preparing query, got ERROR INVALID: unconfigured table systemlog \
    ) \
  )

驱动程序NoHostAvailableException在尝试了查询计划中的每个主机并且没有主机可以尝试后抛出一个。这可能是您为什么得到“未配置表”的线索。

当查询发送到未收到模式更改的节点时,该节点返回unconfigured table <table_name. 最可能的原因是您需要首先解决架构分歧。

如果在您进行架构更改时节点没有响应,则这些节点将不会收到架构更改,因此它们将具有与集群其余部分不同的架构版本。解决此问题的最简单方法是在有问题的节点上重新启动 Cassandra。干杯!


推荐阅读