Elasticsearch 7.4多集群配置

时间:2019-11-22 09:19:55

标签: elasticsearch

我正在尝试使Elasticsearch集群具有两个节点。 Google中的大多数文档都涉及较低版本的集群,因为它们谈论的是discover.zen.ping.unicast.hosts,而7.4则没有。

两个节点是AWS EC2实例。

每个Elasticservice运行正常,但我不认为它们是集群的。 (_cluster/health_nodes API)。

我在/etc/hosts中进行了更改。

elasticsearch.yml代表节点1:

# ---------------------------------- Cluster -----------------------------------
cluster.name: dsm-001
# ------------------------------------ Node ------------------------------------
node.name: node-1
# ----------------------------------- Paths ------------------------------------
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
# ---------------------------------- Network -----------------------------------
#network.host: 192.168.0.1
http.port: 9200
# --------------------------------- Discovery ----------------------------------
discovery.seed_hosts: ["node-1","node-2"]
cluster.initial_master_nodes: ["node-1","node-2"]

elasticsearch.yaml代表节点2:

# ---------------------------------- Cluster -----------------------------------
cluster.name: dsm-001
# ------------------------------------ Node ------------------------------------
node.name: node-2
# ----------------------------------- Paths ------------------------------------
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
# ---------------------------------- Network -----------------------------------
#network.host: 192.168.0.1
http.port: 9200
# --------------------------------- Discovery ----------------------------------
discovery.seed_hosts: ["node-1","node-2"]
cluster.initial_master_nodes: ["node-1","node-2"]

2 个答案:

答案 0 :(得分:1)

虽然cluster.initial_master_nodes属性要求的名称与实际的Elasticsearch节点名称(“ node-1”和“ node-2”)相匹配,但discovery.seed_hosts属性要求的是主机名或地址(例如“ server1” ,即192.168.1.12“),而不是Elasticsearch节点名称。这是您首先需要解决的问题。

但是,当您在AWS中运行节点时,应该安装EC2 Discovery插件来帮助您查找  您的Elasticsearch节点的种子地址(请参见Elasticsearch参考文档:EC2 Discovery Plugin

使用Elasticsearch 7重写了集群协调层,使您的集群更加健壮,同时使节点的首次启动极为重要。 cluster.initial_master_nodes属性仅在首次启动节点时使用。如果这样做,并且您的节点未加入预期的集群(并且很可能创建了自己的集群),则需要停止节点,删除数据目录(以清除集群状态),然后重新启动它。

答案 1 :(得分:0)

获得其他帮助

最后,我知道了。 enter image description here

enter image description here

如果丹尼尔的答案对您不起作用,请添加以下内容。

---------------------------Network-----------------------------------
network.host:  Your Public DNS (IPv4)   // For example, ec2-1-1-1-1.ap-northeast-1.compute.amazonaws.com
----------------------------Discovery------------------------------------
discovery.seed_hosts : [" ip" , "ip" ]   // like Daniel said.
discovery.seed_providers: ec2