将Elasticsearch 1.4.1升级到2.0相同配置失败

时间:2015-11-13 18:31:24

标签: elasticsearch

我将旧配置目录升级并复制到新版本。我不关心旧指数所以开始新鲜。我从默认配置中更改的唯一内容是主机IP和群集名称。

network.host: 127.0.0.1
cluster.name: elasticsearch_pat

我在我的开发机器上运行了一个带有自定义群集名称的节点,所以我没有冲突。现在当我启动ES时,我得到连续的簇/节点/信息错误,这会引发java.lang.IllegalStateException。

[2015-11-13 10:13:59,347][WARN ][transport.netty          ] [Entropic Man] exception caught on transport layer [[id: 0x6c3170dc, /127.0.0.1:61104 => /127.0.0.1:9300]], closing connection
java.lang.IllegalStateException: Message not fully read (request) for requestId [109], action [cluster/nodes/info], readerIndex [39] vs expected [57]; resetting
    at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:120)
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
    at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
    at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
    at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:75)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
    at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
    at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
    at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

当我用Sense检查_health时,它是绿色的,有一个节点和一个数据节点,这是正确的,因为我在localhost上的dev机器上运行。

Elasticsearch现在需要身份验证吗?现在这个极其简单的配置是不够的?

更新:此错误即将发生,因为另一个进程正在尝试访问Elasticsearch。当我停止其他进程时,错误停止。该过程可能使用JDBC或1.4.1之前提供的其他驱动程序,并从2.0中的二进制工件中删除?????

1 个答案:

答案 0 :(得分:2)

@Val是正确的。当我从1.7.3升级到2.0时,仍有其他客户端节点连接到此群集。这就是确切的错误日志。

对我而言,您似乎正在运行您的应用程序(查看localhost中的端口),该应用程序仍然使用旧的elasticsearch API版本并创建1.4.1版本的客户端节点,并且它与已升级的节点冲突,&# 39;为什么你会收到错误。