弹性搜索集群配置-在一个物理上自动发现,配置和多弹性

时间:2018-10-24 09:38:26

标签: elasticsearch elasticsearch-5

问题

所以我们正在使用elasticsearch-5.6.12,我想知道:

  1. 是否有一种方法可以启用自动发现,而不必在配置文件中添加所有IP地址?
  2. 以下配置有问题吗?
  3. 在同一台物理机器上运行两个弹性过程会不会有问题?

配置

当前,我在第一台服务器上具有以下配置:

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

AND

  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

此外,这里还有什么看起来不正确或可能引起问题的东西吗?

我进行了一次测试,发现即使其中一个节点发生故障,集群仍可以继续运行。一次至少需要运行两个节点。

更新

通过更多地阅读文档,我意识到我们也许应该将符合Master资格的节点与数据节点分开?使我们的数据节点也符合主机资格是否有任何重大问题?

是否有必要将主资格移出数据节点?

我正在看并阅读以下内容:

2 个答案:

答案 0 :(得分:1)

您可以在同一节点上运行主角色和数据角色,但不建议

您需要根据公式配置最少的主节点,以避免出现脑裂,例如,如果您有3个主节点,则需要min:2

法定人数为(符合主资格的节点数/ 2)+1。

为了进行发现,我认为您只需将主节点放入列表中即可使用

您的配置似乎还可以,但是您应该在大规模生产环境中的不同节点上运行主角色和数据角色。

注意:

除了Zen Discovery之外,您还可以在云环境中使用以下内容:

  • EC2迪斯科舞厅
  • GCP发现
  • 天蓝色发现

答案 1 :(得分:0)

不建议在一台虚拟机上运行多个实例。但是我们这样做是因为我们有非常大的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