Elastic Search Cluster Config - 一个物理上的自动发现、配置和多弹性
Elastic Search Cluster Config - automatic discovery , config, and multi-elastic on one physical
问题
所以我们正在使用 elasticsearch-5.6.12
我想知道:
- 有没有一种方法可以启用自动发现而不必在配置文件中添加所有 IP 地址?
- 以下配置有任何问题吗?
- 在同一台物理机上运行ning 2个弹性进程会不会有什么问题?
配置
目前我在第一台服务器上有以下配置:
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD1.net
network.host: 192.168.212.191
http.port: 8200
discovery.zen.ping.unicast.hosts: ["192.168.212.191", "192.168.212.192", "192.168.212.193"]
discovery.zen.minimum_master_nodes: 2
node.data: true
node.master: true
我在其他两台服务器上也有以下内容:
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD2.net
network.host: 192.168.212.192
http.port: 8200
discovery.zen.ping.unicast.hosts: ["192.168.212.191", "192.168.212.192", "192.168.212.193"]
discovery.zen.minimum_master_nodes: 2
node.data: true
node.master: true
和
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD3.net
network.host: 192.168.212.193
http.port: 8200
discovery.zen.ping.unicast.hosts: ["192.168.212.191", "192.168.212.192", "192.168.212.193"]
discovery.zen.minimum_master_nodes: 2
node.data: true
node.master: true
此外,这里是否有任何看起来不正确或可能导致问题的地方?
我做了一个测试,发现集群继续 运行 即使其中一个节点已关闭。任何时候至少需要有两个节点运行ning。
更新
我意识到,通过更多阅读文档,我们也许应该让符合主节点条件的节点与数据节点分开?让我们的数据节点也符合 master-eligible 是否存在任何重大问题?
是否有必要将主节点资格从数据节点移开?
我正在观看和阅读以下内容:
您可以运行同一节点上的主角色和数据角色,但不推荐
您需要根据公式配置最少的master节点,以避免脑裂,例如,如果您有3个master节点,那么您需要min : 2
法定人数为(符合主节点资格的节点数 / 2)+ 1
对于发现,我认为你只需要将主节点放在列表中就可以了
您的配置似乎没问题,但在大规模生产环境中,您应该 运行 单独节点上的主角色和数据角色。
注:
除了 Zen discovery 之外,您还可以在云环境中使用以下内容:
- EC2 探索
- GCP 发现
- Azure 发现
不推荐运行一台物理机上的多个实例。但我们这样做是因为我们有非常大的 RAM 容量。 (我不知道你为什么要这样做)
正确配置:
cluster.name: mbak-prod-elastic-search node.name: mbak-PROD1.net
network.host: 192.168.212.191
transport.tcp.port: 9300
http.port: 8200
discovery.zen.ping.unicast.hosts: ["192.168.212.191", "192.168.212.192:9302", "192.168.212.193:9304"]
discovery.zen.minimum_master_nodes: 3
node.data: true
node.master: true
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD2.net
network.host: 192.168.212.192
transport.tcp.port: 9302
http.port: 8202
discovery.zen.ping.unicast.hosts: ["192.168.212.191:9300", "192.168.212.192", "192.168.212.193:9304"]
discovery.zen.minimum_master_nodes: 3
node.data: true
node.master: true
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD3.net
network.host: 192.168.212.193
transport.tcp.port: 9304
http.port: 8204
discovery.zen.ping.unicast.hosts: ["192.168.212.191:9300", "192.168.212.192:9302", "192.168.212.193"]
discovery.zen.minimum_master_nodes: 3
node.data: true
node.master: true
问题
所以我们正在使用 elasticsearch-5.6.12
我想知道:
- 有没有一种方法可以启用自动发现而不必在配置文件中添加所有 IP 地址?
- 以下配置有任何问题吗?
- 在同一台物理机上运行ning 2个弹性进程会不会有什么问题?
配置
目前我在第一台服务器上有以下配置:
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD1.net
network.host: 192.168.212.191
http.port: 8200
discovery.zen.ping.unicast.hosts: ["192.168.212.191", "192.168.212.192", "192.168.212.193"]
discovery.zen.minimum_master_nodes: 2
node.data: true
node.master: true
我在其他两台服务器上也有以下内容:
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD2.net
network.host: 192.168.212.192
http.port: 8200
discovery.zen.ping.unicast.hosts: ["192.168.212.191", "192.168.212.192", "192.168.212.193"]
discovery.zen.minimum_master_nodes: 2
node.data: true
node.master: true
和
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD3.net
network.host: 192.168.212.193
http.port: 8200
discovery.zen.ping.unicast.hosts: ["192.168.212.191", "192.168.212.192", "192.168.212.193"]
discovery.zen.minimum_master_nodes: 2
node.data: true
node.master: true
此外,这里是否有任何看起来不正确或可能导致问题的地方?
我做了一个测试,发现集群继续 运行 即使其中一个节点已关闭。任何时候至少需要有两个节点运行ning。
更新
我意识到,通过更多阅读文档,我们也许应该让符合主节点条件的节点与数据节点分开?让我们的数据节点也符合 master-eligible 是否存在任何重大问题?
是否有必要将主节点资格从数据节点移开?
我正在观看和阅读以下内容:
您可以运行同一节点上的主角色和数据角色,但不推荐
您需要根据公式配置最少的master节点,以避免脑裂,例如,如果您有3个master节点,那么您需要min : 2
法定人数为(符合主节点资格的节点数 / 2)+ 1
对于发现,我认为你只需要将主节点放在列表中就可以了
您的配置似乎没问题,但在大规模生产环境中,您应该 运行 单独节点上的主角色和数据角色。
注:
除了 Zen discovery 之外,您还可以在云环境中使用以下内容:
- EC2 探索
- GCP 发现
- Azure 发现
不推荐运行一台物理机上的多个实例。但我们这样做是因为我们有非常大的 RAM 容量。 (我不知道你为什么要这样做)
正确配置:
cluster.name: mbak-prod-elastic-search node.name: mbak-PROD1.net
network.host: 192.168.212.191
transport.tcp.port: 9300
http.port: 8200
discovery.zen.ping.unicast.hosts: ["192.168.212.191", "192.168.212.192:9302", "192.168.212.193:9304"]
discovery.zen.minimum_master_nodes: 3
node.data: true
node.master: true
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD2.net
network.host: 192.168.212.192
transport.tcp.port: 9302
http.port: 8202
discovery.zen.ping.unicast.hosts: ["192.168.212.191:9300", "192.168.212.192", "192.168.212.193:9304"]
discovery.zen.minimum_master_nodes: 3
node.data: true
node.master: true
cluster.name: mbak-prod-elastic-search
node.name: mbak-PROD3.net
network.host: 192.168.212.193
transport.tcp.port: 9304
http.port: 8204
discovery.zen.ping.unicast.hosts: ["192.168.212.191:9300", "192.168.212.192:9302", "192.168.212.193"]
discovery.zen.minimum_master_nodes: 3
node.data: true
node.master: true