无法连接到Elasticsearch(通过Curl)

Joh*_*n D 10 curl elasticsearch

我最近安装了Elasticsearch,前几天一切都运行良好,但今天不知何故它停止了工作

当我开始服务时,它声称很好......

sudo /etc/init.d/elasticsearch start
* Starting Elasticsearch Server
...done.
Run Code Online (Sandbox Code Playgroud)

但后来我明白了
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
Run Code Online (Sandbox Code Playgroud)

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

pra*_*upd 13

1)使用lsoflinux中的命令检查端口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)
Run Code Online (Sandbox Code Playgroud)

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

$ sudo lsof -iTCP -sTCP:LISTEN | grep elasticsearch
Run Code Online (Sandbox Code Playgroud)

2)检查elasticsearch端点

$ curl -IGET http://localhost:9200
HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 327
Run Code Online (Sandbox Code Playgroud)
  • -IGET相当于--head只返回http响应头.

  • 响应200意味着elasticsearch端点正在正确响应.


Ash*_*ynd 8

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

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

  • 你的弹性搜索服务器在运行吗?即`sudo /etc/init.d/elasticsearch status`报告它正在运行? (2认同)