因此,我有两个Elasticsearch服务器(Elasticsearch的版本7),并希望形成一个具有主节点和数据节点的集群,但是在将它们连接到同一集群中时遇到了一些困难,这些是我的.yml文件和到目前为止我尝试过的东西,将不胜感激:
xxx.235 yml:#data节点
cluster.name: monitoring
node.name: "es-data-node-2"
node.master: false
node.data: true
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: xxx.235
network.publish_host: xxx.52
http.port: 9200
discovery.seed_hosts: ["xxx.52", "xxx.235"] #tried this instead as well discovery.zen.ping.unicast.hosts: 2
discovery.zen.minimum_master_nodes: 2 #tried with 1 also
cluster.initial_master_nodes: ["xxx.52"]
xxx.52 yml:#master节点
cluster.name: monitoring
node.name: "es-master"
node.master: true
node.data: false
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: xxx.52
http.port: 9200
discovery.seed_hosts: ["xxx.52", "xxx.235"] #tried this instead as well discovery.zen.ping.unicast.hosts: 2
discovery.zen.minimum_master_nodes: 2 #tried with 1 also
cluster.initial_master_nodes: ["xxx.52"]
我尝试过但没有帮助的事情: 启用9200和9300端口并通过telnet和连接对其进行测试很好,并且端口已打开。 在两台服务器上添加publish_host行。 在seed_hosts和zen.ping.unicast.hosts之间切换。
直到我添加一行 node.master:否 在数据节点上,它刚刚启动,但没有连接到正确的群集,这两个节点都在各自独立的群集上
答案 0 :(得分:0)
您要混合使用版本6和版本7中的配置,版本7上的discovery.zen.minimum_master_nodes
选项将被忽略。
要形成集群,您只需要discovery.seed_hosts
和cluster.initial_master_nodes
。
主节点的配置应为:
cluster.name: monitoring
node.name: "es-master"
node.master: true
node.data: false
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: xxx.52
http.port: 9200
discovery.seed_hosts: ["xxx.52"]
cluster.initial_master_nodes: ["xxx.52"]
对于您的数据节点:
cluster.name: monitoring
node.name: "es-data-node-2"
node.master: false
node.data: true
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: xxx.235
http.port: 9200
discovery.seed_hosts: ["xxx.52"]
cluster.initial_master_nodes: ["xxx.52"]
discovery.seed_hosts
是一列符合主机要求的节点,您只有一个符合主机要求的节点。
cluster.initial_master_nodes
是仅当您第一次启动集群时使用的列表,它确定了将在虚拟选举中计算其投票数的节点,而且您只有一个主节点。
使用这些配置,您的数据节点应加入集群。