ElasticSearch 无法通过主机浏览器连接

标签 elasticsearch

我用 Berksfile 制作了 ElasticSearch 服务器。

然后安装到 ElasticSearch 2.1.0。

我尝试通过 guest 操作系统执行此命令。

[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"
}

可以连接。 但如果主机操作系统连接到该服务器,则无法连接。

curl http://192.168.33.12:9200

我尝试检查 Iptables,但它看起来对所有端口都可用。

[vagrant@vm1-berkshelf ~]$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

你知道如何解决这个问题吗?

最佳答案

自 2.0 版本以来,Elasticsearch binds to localhost by default (作为一种安全措施,防止您的节点在您不知情的情况下连接到网络上的其他节点)。

因此,您需要做的只是编辑 elasticsearch.yml 配置文件并更改 network.bind_host 设置,如下所示:

network.bind_host: 0

然后,您需要重新启动节点,然后就可以使用curl 命令从远程主机访问该节点。

关于ElasticSearch 无法通过主机浏览器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34526070/

相关文章:

elasticsearch - Elasticsearch匹配精确的浮点值

ubuntu - 无法从主机操作系统访问 Vagrant VM 中的 Elasticsearch 2.0

elasticsearch - elasticsearch存在用于对象类型字段的过滤器

elasticsearch - Elasticsearch “AND in query_string”与 “default_operator AND”

node.js - 使用 Mongoose 静态的Elastic Search Client进行条件更新

elasticsearch - 在pdf和ppts上运行Elastic Search

elasticsearch - 具有累积值的 Kibana 直方图意外线曲线

amazon-web-services - 是否可以将数据从 Redshift 传输到 Elasticsearch?

scala - 嵌入式ES实例中的完成搜索

elasticsearch - 一个索引中的Elasticsearch字段出现在另一索引中