elasticsearch,Curl,elasticsearch" /> elasticsearch,Curl,elasticsearch" />

Curl Can';t连接到Elasticsearch(通过卷曲)

Curl Can';t连接到Elasticsearch(通过卷曲),curl,elasticsearch,Curl,elasticsearch,我最近安装了Elasticsearch,前几天一切正常,但不知怎么的今天它停止了工作 当我开始服务时,它声称一切正常 sudo /etc/init.d/elasticsearch start * Starting Elasticsearch Server ...done. 但是我得到了 curl-GEThttp://127.0.0.1:9200 curl:(7)无法连接到主机 查看elasticsearch日志: [WARN ][bootstrap ] jvm u

我最近安装了Elasticsearch,前几天一切正常,但不知怎么的今天它停止了工作

当我开始服务时,它声称一切正常

sudo /etc/init.d/elasticsearch start
* Starting Elasticsearch Server
...done.
但是我得到了
curl-GEThttp://127.0.0.1:9200

curl:(7)无法连接到主机

查看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虚拟机的警告;这可能是问题所在吗?我还应该尝试/看什么?

curl-GEThttp://127.0.0.1:9200
是错误的命令

尝试
curl-XGEThttp://127.0.0.1:9200
。它应该返回有关正在运行的本地节点和状态200的简短信息。如果这不起作用,那么一定是其他地方出了问题

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
对我来说不是服务,否则查找端口的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
    相当于只返回http响应头的
    --head

  • 响应
    200
    表示elasticsearch端点响应正常


注意内存分配和使用。如果您让它使用无限内存,它可能会在您最不怀疑的时候崩溃。这里有一个关于Elasticseach 5和Kibana的教程,以防其他人遇到这个问题

无论如何,我会尝试以下命令:


curl-XGET

更新
$java-version
和elasticsearch配置更改(如果有)。您的es日志告诉我这只是一个
警告
。我在哪里可以看到引擎盖下发生的事情的日志?可能是ES正在侦听另一个IP/端口吗?可能是。您可以使用
lsof
命令检查es正在侦听哪个端口。查看
lsof
的输出,elasticsearch似乎没有运行,因为它的启动脚本包含错误。我尝试了curl-XGET,但仍然得到curl:(7)无法连接到主机。您的elasticsearch服务器正在运行吗?例如,
sudo/etc/init.d/elasticsearch status
是否报告它正在运行?实际上,服务器没有运行。我使用Upstart(在Ubuntu上)自动启动服务器,但它没有启动。感谢您提供有关如何检查的提示。在我的例子(Upstart)中,命令是
sudo initctl elasticsearch status
Hi,我得到了一些其他信息:[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并没有看到,但若你们查看TCP/UDP端口列表,你们会看到标题。(检查超链接)