【发布时间】:2017-05-29 02:34:45
【问题描述】:
这是我的设置:
Ubuntu 16.04 的两个实例。第二个是从第一个克隆的。 ElasticSearch 仅安装在来宾 (Ubuntu) 操作系统上。克隆虚拟机后配置已调整。
我在 VirtualBox 中使用桥接网络运行 - 每个实例都从路由器获取其 IP。 Windows(主机)防火墙配置正确。所有机器都可以互相ping通。 Ping、Netstat 和 nmap 测试表明端口 9200 和 9300 是开放的(也测试了“远程”主机)。
ElasticSearch 服务运行正常。我可以在本地和远程“curl -XGET”并获得正确的结果。
问题是第二台机器的 ES 没有加入集群。
这里是配置文件:
第一个:
cluster.name: p4g4n_cluster
node.name: master
node.master: true
network.host: 192.168.0.12
discovery.zen.ping.unicast.hosts: ["192.168.0.12", "192.168.0.17"]
第二个:
cluster.name: p4g4n_cluster
node.name: node1
node.master: false
network.host: 192.168.0.17
discovery.zen.ping.unicast.hosts: ["192.168.0.12", "192.168.0.17"]
如果我尝试curl -XGET 192.168.0.17:9200/_cluster/health,我会得到master_not_discovered_exception。如果我尝试基本的 GET 请求,我会看到 node1 有 _na_,因为 cluster_uuid" property, while on first machine - *master*cluster_uuid` 存在。
运行的 ElasticSearch 版本为:5.4.0 和 Lucene 的版本是:6.5.0
谁能帮助我解决node1 看到并加入集群需要做的事情?
【问题讨论】:
-
尝试在两台服务器中更改
network.host: 0.0.0.0。 -
它不工作:(