Jak*_*ake 5 curl elasticsearch
我正在运行Elasticsearch 1.3.4,通过Homebrew在Mac OS X 10.10上新安装:
$ brew install elasticsearch
$ elasticsearch
Run Code Online (Sandbox Code Playgroud)
http://localhost:9200/_cluster/state在浏览器中运行成功:
{
"cluster_name": "elasticsearch_jbrukh",
"version": 2,
"master_node": "q6Jzcza_RwaVvc_1u95O1Q",
"blocks": {},
"nodes": {
"q6Jzcza_RwaVvc_1u95O1Q": {
"name": "Ethan Edwards",
"transport_address": "inet[/127.0.0.1:9300]",
"attributes": {}
}
},
"metadata": {
"templates": {},
"indices": {}
},
"routing_table": {
"indices": {}
},
"routing_nodes": {
"unassigned": [],
"nodes": {
"q6Jzcza_RwaVvc_1u95O1Q": []
}
},
"allocations": []
}
Run Code Online (Sandbox Code Playgroud)
但是,以下curl命令失败:
$ curl -XGET "http://localhost:9200/_cluster/state"
curl: (7) Failed to connect to localhost port 9200: Connection refused
Run Code Online (Sandbox Code Playgroud)
此外,curl命令间歇性地成功,但只有在从浏览器中点击该URL之后,它才会工作一次,然后再次因上述错误而再次失败.
我该如何解决这个问题?
eli*_*sah 21
正如我回答之前,类似的问题在这里.在我的Mac OS X上,我使用127.0.0.1:9200/而不是http:// localhost:9200 /因为我遇到了同样的问题.
我认为当你使用命令时,终端用它的IPv6地址替换localhost,我不确定curl是否支持.
请检查并让我知道.
小智 7
我遇到了同样的问题(OS X 10.10和ES 1.3.4).
快速解决方案是强制curl使用IPv4 --ipv4
curl --ipv4 -XGET "http://localhost:9200/_cluster/state"
Run Code Online (Sandbox Code Playgroud)
(至少对我有用)
永久的解决方案是编辑/etc/hosts和注释掉这一行
#fe80::1%lo0 localhost
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16446 次 |
| 最近记录: |