无法连接到Elasticsearch(通过Curl)

时间:2014-03-01 04:45:53

标签: curl 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的警告;这可能是问题吗?我还应该尝试/看看还有什么?

4 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:8)

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

在我的情况下,以下是elasticsearch启动时的结果。

prayag@prayag:~$ 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不是我的服务,否则会发现端口正在运行;我可以检查一下,

$ 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相当于仅返回http响应标头的--head

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

答案 2 :(得分:1)

无论如何,我试试这个命令:

curl -XGET http://localhost:9200

答案 3 :(得分:0)

注意内存分配和使用。如果你让它使用无限的内存,它可能会在你最不怀疑的时候崩溃。这是一个关于Elasticseach 5和Kibana的教程,以防其他人遇到此问题。 https://medium.com/@adnanxteam/how-to-install-elasticsearch-5-and-kibana-on-homestead-vagrant-60ea757ff8c7