2014-03-01 30 views
5

我最近安装了Elasticsearch和一切工作顺利进行的最初几天,但不知何故,今天停止工作不能(通过卷曲)

当我启动服务连接到Elasticsearch,它声称是精...

sudo /etc/init.d/elasticsearch start 
* Starting Elasticsearch Server 
...done. 

但后来我得到
curl -GET http://127.0.0.1:9200
curl: (7) couldn't connect to host

望着elasticsearch日志:

[WARN ][bootstrap    ] jvm uses the client vm, make sure to run `java` with the server vm for best performance by adding `-server` to the command line 

看起来有关于Java VM的警告;这可能是问题吗?我还应该尝试/看什么?

+0

更新你的'$ java的-version',如果你所做的任何elasticsearch配置更改。你的ES日志告诉它只是一个'警告'。 – prayagupd

+0

有没有我能看到引擎盖下发生的事情的日志? ES是否正在监听不同的IP /端口? –

+0

可能是。您可以使用'lsof'命令检查哪个端口正在监听。 – prayagupd

回答

7

1)在linux中检查端口9200,lsof命令的状态。

在我的情况下,以下是elasticsearch开始时的结果。

[email protected]:~$ sudo lsof -i TCP | grep 9200 
chrome 2639 praayg 84u IPv4 116310  0t0 TCP prayag.local:58989->10.0.4.70:9200 (ESTABLISHED) 
chrome 2639 prayag 99u IPv4 116313  0t0 TCP prayag.local:58990->10.0.4.70:9200 (ESTABLISHED) 
java 7634 prayag 141u IPv6 130960  0t0 TCP *:9200 (LISTEN) 

elasticsearch是不是对我的服务,否则找端口 ES运行;在我可以检查,

$ sudo lsof -iTCP -sTCP:LISTEN | grep elasticsearch 

2)检查elasticsearch端点

$ curl -IGET http://localhost:9200 
HTTP/1.1 200 OK 
content-type: application/json; charset=UTF-8 
content-length: 327 
  • -IGET相当于--head,只有返回的HTTP响应头。

  • 响应200表示elasticsearch端点正确响应。

+0

嗨,我得到的东西: [root @ root〜]#sudo lsof -iTCP -sTCP:LISTEN | grep elasticsearch java 1375 elasticsearch 100u IPv6 12397 0t0 TCP *:vrace(LISTEN) java 1375 elasticsearch 108u IPv6 12467 0t0 TCP *:wap-wsp(LISTEN) 您是否知道从何发生? – Tomer

+1

@Tomer没有看到,但如果你检查TCP/UDP端口列表,你会看到标题['WAP-WSP'是端口9200](http://www.tcp-udp-ports.com/port-9200.htm )['VRace'是端口9300](http://www.tcp-udp-ports.com/port-9300.htm)。 _(检查超链接)_ – prayagupd

+0

谢谢!你是对的! – Tomer

7

curl -GET http://127.0.0.1:9200是错误的命令。

尝试curl -XGET http://127.0.0.1:9200。它应该返回有关正在运行的本地节点和状态200的简短信息。如果这样做不起作用,那么其他内容肯定是错误的。

+0

我尝试curl -XGET http://127.0.0.1:9200,我仍然卷曲:(7)无法连接到主机。 –

+2

是您的elasticsearch服务器运行? I.e是否运行了'sudo /etc/init.d/elasticsearch status'报告? – Ashalynd

+0

的确,服务器没有运行。我正在使用Upstart(在Ubuntu上)自动启动服务器,并未启动。感谢关于如何检查的提示。在我的情况下(Upstart),命令是'sudo initctl elasticsearch status' –