1

So I set up Elasticsearch, I have the server running. When I connect to http://localhost:9200/ I get the status message. It is version number 1.4.3.

Now I download Kibana 3.1.2. As instruced in the readme, I add the following lines to elasticsearch.yml, the config file:

# making kibana local work
http.cors.enabled: true
http.cors.allow-origin: 127.0.0.1

I also add the following lines to Kibana's config.js:

elasticsearch: 'http://localhost:9200',

When I navigate to Kibana's index.html in my up-to-date Firefox, I get a page stating that:

Connection Failed
Possibility #1: Your elasticsearch server is down or unreachable.......

Now I've tried some other variables for the config files, but it seems like it should work. Both are present on my local Ubuntu 14.04/64bit install.

When I check elasticsearch.log, I find the following:

[2015-02-18 13:50:12,697][INFO ][node                     ] [Puma] version[1.4.3], pid[14592], build[36a29a7/2015-02-11T14:23:15Z]
[2015-02-18 13:50:12,698][INFO ][node                     ] [Puma] initializing ...
[2015-02-18 13:50:12,706][INFO ][plugins                  ] [Puma] loaded [], sites []
[2015-02-18 13:50:16,540][INFO ][node                     ] [Puma] initialized
[2015-02-18 13:50:16,540][INFO ][node                     ] [Puma] starting ...
[2015-02-18 13:50:16,735][INFO ][transport                ] [Puma] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.192.25:9300]}
[2015-02-18 13:50:16,761][INFO ][discovery                ] [Puma] elasticsearch/zEjlD0HdR2OtpjykOo1e7g
[2015-02-18 13:50:20,542][INFO ][cluster.service          ] [Puma] new_master [Puma][zEjlD0HdR2OtpjykOo1e7g][zirconcode][inet[/192.168.192.25:9300]], reason: zen-disco-join (elected_as_master)
[2015-02-18 13:50:20,569][INFO ][http                     ] [Puma] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/192.168.192.25:9200]}
[2015-02-18 13:50:20,570][INFO ][node                     ] [Puma] started
[2015-02-18 13:50:20,632][INFO ][gateway                  ] [Puma] recovered [0] indices into cluster_state
[2015-02-18 13:50:29,195][WARN ][transport.netty          ] [Puma] exception caught on transport layer [[id: 0x8e5c4505, /127.0.0.1:53332 => /127.0.0.1:9300]], closing connection
java.io.StreamCorruptedException: invalid internal transport message format, got (47,45,54,20)
    at org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.decode(SizeHeaderFrameDecoder.java:47)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
    at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
    at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
    at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
    at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
    at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
    at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
    at org.elasticsearch.common.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)
[2015-02-18 13:50:29,202][WARN ][transport.netty          ] [Puma] exception caught on transport layer [[id: 0x8e5c4505, /127.0.0.1:53332 :> /127.0.0.1:9300]], closing connection
java.io.StreamCorruptedException: invalid internal transport message format, got (47,45,54,20)
    at org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.decode(SizeHeaderFrameDecoder.java:47)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.cleanup(FrameDecoder.java:482)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.channelDisconnected(FrameDecoder.java:365)
    at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:102)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
    at org.elasticsearch.common.netty.channel.Channels.fireChannelDisconnected(Channels.java:396)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:360)
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:81)
    at org.elasticsearch.common.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:36)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574)
    at org.elasticsearch.common.netty.channel.Channels.close(Channels.java:812)
    at org.elasticsearch.common.netty.channel.AbstractChannel.close(AbstractChannel.java:197)
    at org.elasticsearch.transport.netty.NettyTransport.exceptionCaught(NettyTransport.java:622)
    at org.elasticsearch.transport.netty.MessageChannelHandler.exceptionCaught(MessageChannelHandler.java:234)
    at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:112)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.exceptionCaught(FrameDecoder.java:377)
    at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:112)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
    at org.elasticsearch.common.netty.channel.Channels.fireExceptionCaught(Channels.java:525)
    at org.elasticsearch.common.netty.channel.AbstractChannelSink.exceptionCaught(AbstractChannelSink.java:48)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.notifyHandlerException(DefaultChannelPipeline.java:658)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:566)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
    at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
    at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
    at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
    at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318)
    at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
    at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
    at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
    at org.elasticsearch.common.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)

I've only been getting this error once in multiple attempts though.

ZirconCode
  • 805
  • 2
  • 10
  • 24

2 Answers2

1

Instead of

http.cors.allow-origin: 127.0.0.1

in your ES 1.4.3 elasticsearch.yml try

http.cors.allow-origin: "http://127.0.0.1"

That assumes you're running kibana on port 80

The above will work if you access kibana from http://127.0.0.1/kibana. If you use the url http://localhost/kibana instead, replace 127.0.0.1 with localhost in your yml file

Henry S
  • 3,072
  • 1
  • 13
  • 25
  • Thanks for the advice, unfortunately I still get the same error. I open Kibana in the browser so I assume it is port 80, is there any way to check? – ZirconCode Feb 18 '15 at 17:12
  • If you can access kibana from `http://127.0.0.1/kibana` then I'm not sure why that's not working. If you use `http://localhost/kibana` instead, try using localhost in your yml file – Henry S Feb 18 '15 at 17:21
  • I can access Kibana via `http://127.0.0.1/kibana-3.1.2/` yes. I thought firefox's caching was messing with me for a second but I turned it off and still no dice. – ZirconCode Feb 18 '15 at 17:40
  • I've switched to Kibana 4 rc1 and have gotten things to work without a hitch. Still not sure what the problem was but it's no longer relevant I suppose. – ZirconCode Feb 19 '15 at 14:58
  • If you add a suggestion in your answer to switch I will accept it, I think that is all right =) – ZirconCode Feb 19 '15 at 14:59
0

Follow below steps to solve above problem:

  1. Open file elasticsearch<Version>/config/elasticsearch.yml
  2. Add one line http.cors.allow-origin: "http://127.0.0.1:5601"

Now start elasticserch and then start Kibana. It will now connect.

Luís Cruz
  • 14,780
  • 16
  • 68
  • 100