8

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

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

我正在尝试从 Google Chrome 27.0.1453.116 连接它。

根据 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          ] [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)

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

我无法想象 1627 端口应该有什么——也许这就是线索。我做错了什么 - 或任何解决方案?

4

2 回答 2

13

没有任何东西被破坏。9300 端口用于节点间通信,使用内部二进制协议,因此您不能从浏览器使用它。为了使用 9300 端口,您必须使用Java API,无论是 Node 客户端还是 Transport 客户端,它们都理解内部二进制协议。

在浏览器中,您应该只使用 9200 端口,它是公开 REST API 的端口。

于 2013-07-26T08:47:01.440 回答
0

我遇到了同样的问题。我发现问题在配置内部(/etc/elasticsearch/elasticsearch.yml默认情况下)。有一个棘手的参数默认http.enabled设置为false。对于修复,您只需将其设置为true

http.port: 9200 http.enabled: true

我希望它会有所帮助。

于 2014-11-26T14:54:54.253 回答