本文介绍了ElasticSearch 0.90.2 StreamCorruptedException询问端口9300的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚在Windows XP上解压缩elasticsearch-0.90.2.zip,并启动bin / elasticsearch.bat。



我已将JAVA_HOME设置为C: \Program Files \Java\jre7,因为这是第一次运行时出现的问题。



我试图从Google Chrome 27.0.1453.116连接它。 / p>

根据elasticsearch.yml,ElasticSearch默认绑定到0.0.0.0地址,但0.0.0.0:9200响应108(net :: ERR_ADDRESS_INVALID) 。



localhost:9200或127.0.0.1:9200正确响应:{ok:true等。



localhost:9300响应324(net :: ERR_EMPTY_RESPONSE),并在控制台窗口中显示StreamCorruptedException:

  [2013-07 -25 10:42:30,419] [WARN] [transport.netty] [生日快乐] exc 
在传输层捕获的选项[[id:0x478ae9b7,/127.0.0.1:1627 = /127.0.0.1
:9300]],关闭连接
java.io.StreamCorruptedException:内部传输消息格式无效
at org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.decode(SizeH
eaderFrameDecoder.java:27)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callD
ecode(FrameDecoder.java:425)
at org.elasticsearch .common.netty.handler.codec.frame.FrameDecoder.messa
geReceived(FrameDecoder.java:303)
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h
andleUpstream SimpleChannelUpstreamHandler.java:70)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
at org.elasticsearch.common.netty.channel .DefaultChannelPipeline $ Default
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope
nChannelsHandler.java:74)
在org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
在org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream DefaultChannelPipeline.java:559)
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C
hannels.java:268)
at org.elasticsearch.common.netty.channel .Channels.fireMessageReceived(C
hannels.java:255)
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioW
orker.java:88)
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.p
rocess(AbstractNioWorker.java:109)
at org.elasticsearch.common.netty.channel.socket .nio.AbstractNioSelector
.run(AbstractNioSelector.java:312)
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.r
un(AbstractNioWorker.java:90 )
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWo
rker.java:178)
at org.elasticsearch.common.netty.util。 ThreadRenamingRunnable.run(Thread
RenamingRunnable.java:108)
at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker $ 1.ru
n(DeadLockProofWorker.java:42)
在java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知源)
在java.lang.Thread.run(未知源)
[2013-07-25 10:42:30,435] [WARN] [transport.netty] [生日快乐] exc
在传输层捕获的选项[[id:0x478ae9b7,/127.0.0.1: 1627:> /127.0.0.1
:9300]],关闭连接
java.io.StreamCorruptedException:内部传输消息格式无效
at org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.decode(SizeH
eaderFrameDecoder.java:27)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callD
ecode(FrameDecoder.java:425)
at org.elasticsearch .common.netty.handler.codec.frame.FrameDecoder.clean
up(FrameDecoder.java:482)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.chann
elDisconnected(FrameDecoder.java:365)
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h
andleUpstream(SimpleChannelUpstreamHandler.java:102)
at org.elasticsearch.common .netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
在org.elasticsearch.common.netty.channel.DefaultChannelPipeline $默认
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java: 791)
at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope
nChannelsHandler.java:74)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:559)
at org.elasticsearch.common .netty.channel.Channels.fireChannelDisconnect
ed(Channels.java:396)
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.c
lose(AbstractNioWorker。 java:361)
at org.elasticsearch.common.netty.channel.socket.nio.NioServerSocketPipe
lineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:81)
at org.elasticsearch.common.netty .channel.socket.nio.NioServerSocketPipe
lineSink.eventSunk(NioServerSocketPipelineSink.java:36)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendDow
nstream(DefaultChannelPipeline.java: 574)
at org.elasticsearch.common.netty.channel.Channels.close(Channels.java:8
12)
at org.elasticsearch.common.netty.channel.AbstractChannel.close (Abstract
Channel.java:197)
at org.elasticsearch.transport.netty.NettyTransport.exceptionCaught(Nett
yTransport.java:505)
at org.elasticsearch.transport .netty.MessageChannelHandler.exceptionCaug
ht(MessageChannelHandler.java:224)
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h
andleUpstream(SimpleChannelUpstreamHandler.java:112)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline $ Default
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.excep
tionCaught(FrameDecoder.java:377)
在org .elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h
andleUpstream(SimpleChannelUpstreamHandler.java:112)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline。 java:564)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline $ Default
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.elasticsearch.common.netty.OpenChannelsHandler .handleUpstream(Ope
nChannelsHandler.java:74)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
在org .elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:559)
at org.elasticsearch.common.netty.channel.Channels.fireExceptionCaught(C
hannels。 java:525)
at org.elasticsearch.common.netty.channel.AbstractChannelSink.exceptionC
aught(AbstractChannelSink.java:48)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline .notifyH
andlerException(DefaultChannelPipeline.java:658)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:566)
在org .elasticsearch.common.netty.channel.DefaultChannelPipeline $ Default
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope
nChannelsHandler。 java:74)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline .sendUps
tream(DefaultChannelPipeline.java:559)
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C
hannels.java:268)
at org .elasticsearch.common.netty.channel.Channels.fireMessageReceived(C
hannels.java:255)
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioW
orker.java:88)
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.p
rocess(AbstractNioWorker.java:109)
at org.elasticsearch .common.netty.channel.socket.nio.AbstractNioSelector
.run(AbstractNioSelector.java:312)
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.r
un(AbstractNioWorker.java:90)
在org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWo
rker.java:178)
在org。 elasticsearch.common.netty.util.ThreadRenamingRunnable.run(Thread
RenamingRunnable.java:108)
at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker $ 1.ru
n(DeadLockProofWorker .java:42)
在java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知源)
在java。 lang.Thread.run(unknown Source)

我已经阅读过类似的情况,没有其他节点运行,没有网络,没有使用端口,这是我在本地机器上的第一个独立ElasticSearch引擎默认配置。



我不能想象什么应该有在端口1627 - 也许这是线索。
我错了什么 - 或任何解决方案?

解决方案

9300端口用于节点间通信,并使用内部二进制协议,因此您不能从浏览器中使用它。要使用9300端口,您必须使用,即节点客户端或传输客户端,它们都理解了内部的二进制协议。



从浏览器,你应该只使用9200端口,这是公开的REST API。


I've just unpacked elasticsearch-0.90.2.zip on Windows XP, and started bin/elasticsearch.bat.

I've set JAVA_HOME to C:\Program Files\Java\jre7, as it was a problem at first run.

I'm trying to connect it from Google Chrome 27.0.1453.116.

According to elasticsearch.yml, "ElasticSearch, by default, binds itself to the 0.0.0.0 address", but 0.0.0.0:9200 responds 108 (net::ERR_ADDRESS_INVALID).

localhost:9200 or 127.0.0.1:9200 responds correctly: { "ok" : true, etc.

localhost:9300 responds 324 (net::ERR_EMPTY_RESPONSE), and displays StreamCorruptedException in the console window:

[2013-07-25 10:42:30,419][WARN ][transport.netty          ] [Happy Birthday] exc
eption caught on transport layer [[id: 0x478ae9b7, /127.0.0.1:1627 => /127.0.0.1
:9300]], closing connection
java.io.StreamCorruptedException: invalid internal transport message format
        at org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.decode(SizeH
eaderFrameDecoder.java:27)
        at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callD
ecode(FrameDecoder.java:425)
        at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messa
geReceived(FrameDecoder.java:303)
        at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h
andleUpstream(SimpleChannelUpstreamHandler.java:70)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
        at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope
nChannelsHandler.java:74)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:559)
        at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C
hannels.java:268)
        at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C
hannels.java:255)
        at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioW
orker.java:88)
        at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.p
rocess(AbstractNioWorker.java:109)
        at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector
.run(AbstractNioSelector.java:312)
        at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.r
un(AbstractNioWorker.java:90)
        at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWo
rker.java:178)
        at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(Thread
RenamingRunnable.java:108)
        at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.ru
n(DeadLockProofWorker.java:42)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
[2013-07-25 10:42:30,435][WARN ][transport.netty          ] [Happy Birthday] exc
eption caught on transport layer [[id: 0x478ae9b7, /127.0.0.1:1627 :> /127.0.0.1
:9300]], closing connection
java.io.StreamCorruptedException: invalid internal transport message format
        at org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.decode(SizeH
eaderFrameDecoder.java:27)
        at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callD
ecode(FrameDecoder.java:425)
        at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.clean
up(FrameDecoder.java:482)
        at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.chann
elDisconnected(FrameDecoder.java:365)
        at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h
andleUpstream(SimpleChannelUpstreamHandler.java:102)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
        at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope
nChannelsHandler.java:74)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:559)
        at org.elasticsearch.common.netty.channel.Channels.fireChannelDisconnect
ed(Channels.java:396)
        at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.c
lose(AbstractNioWorker.java:361)
        at org.elasticsearch.common.netty.channel.socket.nio.NioServerSocketPipe
lineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:81)
        at org.elasticsearch.common.netty.channel.socket.nio.NioServerSocketPipe
lineSink.eventSunk(NioServerSocketPipelineSink.java:36)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendDow
nstream(DefaultChannelPipeline.java:574)
        at org.elasticsearch.common.netty.channel.Channels.close(Channels.java:8
12)
        at org.elasticsearch.common.netty.channel.AbstractChannel.close(Abstract
Channel.java:197)
        at org.elasticsearch.transport.netty.NettyTransport.exceptionCaught(Nett
yTransport.java:505)
        at org.elasticsearch.transport.netty.MessageChannelHandler.exceptionCaug
ht(MessageChannelHandler.java:224)
        at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h
andleUpstream(SimpleChannelUpstreamHandler.java:112)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
        at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.excep
tionCaught(FrameDecoder.java:377)
        at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.h
andleUpstream(SimpleChannelUpstreamHandler.java:112)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
        at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope
nChannelsHandler.java:74)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:559)
        at org.elasticsearch.common.netty.channel.Channels.fireExceptionCaught(C
hannels.java:525)
        at org.elasticsearch.common.netty.channel.AbstractChannelSink.exceptionC
aught(AbstractChannelSink.java:48)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.notifyH
andlerException(DefaultChannelPipeline.java:658)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:566)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$Default
ChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
        at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(Ope
nChannelsHandler.java:74)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:564)
        at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUps
tream(DefaultChannelPipeline.java:559)
        at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C
hannels.java:268)
        at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(C
hannels.java:255)
        at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioW
orker.java:88)
        at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.p
rocess(AbstractNioWorker.java:109)
        at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector
.run(AbstractNioSelector.java:312)
        at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.r
un(AbstractNioWorker.java:90)
        at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWo
rker.java:178)
        at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(Thread
RenamingRunnable.java:108)
        at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.ru
n(DeadLockProofWorker.java:42)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

I've read about similar situations, but now there is no other node running, no networking, nothing uses the port, it is my first standalone ElasticSearch engine on the local machine with default configuration.

I can't imagine what should there be on port 1627 - perhaps it is the clue.What do I wrong - or any solution?

解决方案

Nothing is corrupted. The 9300 port is used for inter-node communication and uses an internal binary protocol, thus you can't use it from the browser. In order to use the 9300 port you have to use the Java API, either Node client or Transport client, which both understand the internal binary protocol.

From the browser you should only use the 9200 port, which is the one that exposes the REST API.

这篇关于ElasticSearch 0.90.2 StreamCorruptedException询问端口9300的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 01:46