我最近安装了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 :(得分: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