2014-03-01 179 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' –