如何在开发模式下搭建多节点Elasticsearch集群?

How to set up multi-node Elasticsearch cluster in development mode?

我有一个 ES 集群 (v 5.6.12),运行 处于开发模式,配置如下:

node1.com

cluster.name: elastic-test
node.name: "node-1"
path.data: /path/to/data
path.logs: /path/to/logs
network.host: 127.0.0.1
http.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["node1.com", "node2.com"]
node.master: true

我正在尝试将节点 2 连接到同一个集群:

node2.com

cluster.name: elastic-test
node.name: "node-2"
path.data: /path/to/data
path.logs: /path/to/logs
network.host: 127.0.0.1
http.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["node1.com", "node2.com"]
node.master: true

我试图将 network.host 更改为它们各自的地址,但这会使它们退出开发模式。我还尝试设置绑定和发布主机以使节点可被其他节点发现:

network.bind_host: 127.0.0.1
network.publish_host: node1.com

但同样,这会将节点投入生产。

在开发模式下真的可以让不同服务器上的多个节点进行通信吗?

简答NO.对于大多数用例 运行 用于 DEV 的单节点集群就足够了,但在 DEV 环境中可能存在需要多节点集群的情况,但是目前无法在不绑定到非本地 IP 的情况下形成多节点集群地址。

话虽这么说,开发模式和生产模式在Elasticsearch方面的区别只是如果一些设置不当,ES集群无法启动。所以,只要你能够配置下面描述的设置link,那么你就可以形成一个集群并将其命名为DEV,这样用户就不会将其误认为是生产集群

https://www.elastic.co/guide/en/elasticsearch/reference/5.6/system-config.html#dev-vs-prod