我正在尝试使群集的运行状况保持绿色。根据以下Elasticsearch文档:When you add more nodes to a cluster, it automatically allocates replica shards. When all primary and replica shards are active, the cluster state changes to green.
来源:https://www.elastic.co/guide/en/elasticsearch/reference/current/add-elasticsearch-nodes.html
因此,我使用以下配置文件创建了2个Elasticsearch实例:
# Config File 1
cluster.name : PL
node.name : "Node-1"
node.master : true
node.data : true
network.host : "127.0.0.1"
http.port : 9200
discovery.zen.ping.unicast.hosts : ["127.0.0.1:9200", "127.0.0.1:9201"]
discovery.zen.minimum_master_nodes : 2
# Config File 2
cluster.name : PL
node.name : "Node-2"
node.master : true
node.data : true
network.host : "127.0.0.1"
http.port : 9201
discovery.zen.ping.unicast.hosts : ["127.0.0.1:9200", "127.0.0.1:9201"]
discovery.zen.minimum_master_nodes : 2
通过运行以下curl命令:curl -GETX localhost:9200/_cluster/health?pretty=true
,我应该根据elasticsearch文档(请参阅下面的链接)在集群上有2个节点。但是,我的节点数仍为1。
来源:https://www.elastic.co/guide/en/elasticsearch/guide/current/_add_failover.html
答案 0 :(得分:0)
首先,您在discovery.zen.ping.unicast.hosts
设置中使用的端口不是正确的端口,它应该是TCP端口,而不是HTTP端口。
但是,由于您在ES7上运行,因此现在使用new discovery protocol,而忽略了discovery.zen.ping.unicast.hosts
设置。
由于两个节点都在同一台计算机上运行,因此不需要任何特殊配置即可将两个节点都组成一个集群,因此它们本身应该auto-discover(前提是您删除了discovery.*
设置
如果要在两台不同的计算机上运行两个节点,则需要改用the following settings:
discovery.seed_hosts:
- 127.0.0.1:9300
- 127.0.0.1:9301
cluster.initial_master_nodes:
- 127.0.0.1:9300
- 127.0.0.1:9301