问题
所以我们正在使用elasticsearch-5.6.12
,我想知道:
- 有没有办法启用自动发现,而不必在配置文件中添加所有 IP 地址?
- 以下配置有任何问题吗?
- 在同一台物理机器上运行 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
此外,这里是否有任何看起来不正确或可能导致问题的内容?
我做了一个测试,看到即使其中一个节点关闭,集群也会继续运行。任何时候至少需要有两个节点在运行。
更新
通过阅读更多文档,我意识到我们也许应该让我们的主节点与数据节点分开?让我们的数据节点也符合主节点资格有什么主要问题吗?
是否有必要将主资格移出数据节点?
我正在观看和阅读以下内容:
- 掌握 ElasticSearch:设置生产集群
- https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#master-node
您可以在同一节点上运行主节点和数据角色,但不建议这样做
您需要根据公式配置最小主节点,以避免裂脑,例如,如果您有 3 个主节点,那么您需要最小值:2
仲裁为(符合主节点条件的节点数/2(+ 1
对于发现,我认为您只需要将主节点放在列表中即可
您的配置似乎没问题,但您应该在单独的节点上运行主节点和数据角色,在大规模生产环境中。
注意:
除了 禅宗发现 ,您还可以在云环境中使用以下方法:
- EC2 迪斯科舞厅
- 基仕伯发现
- Azure 发现
不建议在一台 pyshical 计算机上运行多个实例。 但是我们这样做是因为我们有非常大的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