我通过Berksfile制作了ElasticSearch服务器。
然后安装到ElasticSearch 2.1.0。
我尝试通过来宾操作系统执行此命令。
name="action"
它可以连接。 但是,如果主机操作系统连接到此服务器,则无法连接。
[vagrant@vm1-berkshelf ~]$ curl http://localhost:9200
{
"name" : "vm1-berkshelf",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.1.0",
"build_hash" : "72cd1f1a3eee09505e036106146dc1949dc5dc87",
"build_timestamp" : "2015-11-18T22:40:03Z",
"build_snapshot" : false,
"lucene_version" : "5.3.1"
},
"tagline" : "You Know, for Search"
}
我尝试检查一下Iptables,但它看起来像所有端口都可用。
curl http://192.168.33.12:9200
你知道如何解决这个问题吗?
答案 0 :(得分:2)
自2.0版本发布以来,Elasticsearch binds to localhost by default(作为一种安全措施,可防止您的节点在不知情的情况下连接到网络上的其他节点)。
所以您需要做的只是编辑elasticsearch.yml
配置文件并更改network.bind_host
设置,如下所示:
network.bind_host: 0
然后,您需要重新启动节点,并且可以使用curl命令从远程主机访问它。