Ich habe die elastische Suche mit 3 Knoten konfiguriert. Mein Cluster kann den Master-Knoten nicht finden
Logs der elastischen Suche
[2018-02-24T02:39:39,106][INFO ][o.e.d.z.ZenDiscovery ] [node3] failed to send join request to master [{node1}{MO28S_KZQaih1pd-ERrvIA}{SBwZDgFcTz2xTLOyh2fZAA}{192.168.2.xxx}{192.168.2.xxx:9300}], reason [RemoteTransportException[[node1][192.168.2.xxx:9300][internal:discovery/zen/join]]; nested: NotMasterException[Node [{node1}{MO28S_KZQaih1pd-ERrvIA}{SBwZDgFcTz2xTLOyh2fZAA}{192.168.2.xxx}{192.168.2.xxx:9300}] not master for join request]; ], tried [3] times
[2018-02-24T02:39:42,332][INFO ][o.e.d.z.ZenDiscovery ] [node3] failed to send join request to master [{node1}{MO28S_KZQaih1pd-ERrvIA}{SBwZDgFcTz2xTLOyh2fZAA}{192.168.2.xxx}{192.168.2.xxx:9300}], reason [RemoteTransportException[[node1][192.168.2.xxx:9300][internal:discovery/zen/join]]; nested: NotMasterException[Node [{node1}{MO28S_KZQaih1pd-ERrvIA}{SBwZDgFcTz2xTLOyh2fZAA}{192.168.2.xxx}{192.168.2.xxx:9300}] not master for join request]; ], tried [3] times
Meine elasticsearch.yml-Datei
cluster.name: cluster-testing
node.name: node3
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.Host: 192.168.2.xxx
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.2.xxx", "192.168.2.xxx",
"192.168.2.xxx"]
discovery.zen.minimum_master_nodes: 2
gateway.recover_after_nodes: 2
gateway.expected_nodes: 3
Ich kann nicht finden, wo das Problem ist
Um aus einem Knoten einen Master-Knoten zu machen, müssen Sie ihn hinzufügen
node.master: true
in elasticsearch.yml.
Aus Ihrer Konfiguration
discovery.zen.minimum_master_nodes: 2
mindestens zwei Ihrer Knoten müssen node.master auf true setzen
BEARBEITEN:
im Folgenden finden Sie die Arbeitskonfiguration für unser Projekt (3 * Master und 6 * Slaves):
MEISTER:
cluster.name: VAL_elasticsearch
node.name: MASTER-${HOSTNAME}
node.data: false
node.master: true
path.data: /data
path.logs: /local/opt/logs
path.repo: ["/home/data_ElasticSearchBackup"]
bootstrap.memory_lock: true
bootstrap.seccomp: false
network.Host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["ip_master1","ip_master2","ip_masterx"]
discovery.zen.minimum_master_nodes: 2
SLAVE:
cluster.name: VAL_elasticsearch
node.name: DATA-${HOSTNAME}
node.data: true
node.master: false
path.data: /data
path.logs: /local/opt/logs
path.repo: ["/home/data_ElasticSearchBackup"]
bootstrap.memory_lock: true
bootstrap.seccomp: false
network.Host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["ip_master1","ip_master2","ip_masterx"]
discovery.zen.minimum_master_nodes: 2
Sind Sie sicher, dass zwischen allen elastischen Instanzen alle Ports geöffnet sind?
Ich hatte einen ähnlichen Fehler, aber mein Fall war etwas anders.
Ich habe versucht, 2 ES-Knoten auf derselben Maschine zu booten. Ich hatte mein ES-Verzeichnis kopiert, um einen neuen Knoten zu starten, und bekam diese Ausnahmebedingung RemoteTransportException
.
Nachdem ich ein wenig gegoogelt hatte, stellte ich fest, dass ich nodes
im kopierten Verzeichnis löschen musste, um diesen Knoten zu booten. Dieses Verzeichnis ist normalerweise in {ES_HOME}/data/nodes
oder /var/lib/elasticsearch/nodes
vorhanden.
Quelle: https://github.com/elastic/elasticsearch/issues/21405