Einführung
Elasticsearch ist ein beliebter Open Source-Suchserver, der für die verteilte Echtzeitsuche und Datenanalyse verwendet wird. Wenn Elasticsearch nicht für die Entwicklung verwendet wird, sollte es auf mehreren Servern als Cluster bereitgestellt werden, um die bestmögliche Leistung, Stabilität und Skalierbarkeit zu erzielen.
In diesem Tutorial erfahren Sie, wie Sie einen Elasticsearch-Produktionscluster unter Ubuntu 14.04 in einer Cloud-Server-Umgebung installieren und konfigurieren.
Das manuelle Einrichten eines Elasticsearch-Clusters ist zwar hilfreich, die Verwendung eines Konfigurationsverwaltungstools wird jedoch bei jedem Cluster-Setup dringend empfohlen. Wenn Sie Ansible zum Bereitstellen eines Elasticsearch-Clusters verwenden möchten, folgen Sie diesem Lernprogramm: https://www.digitalocean.com/community/tutorials/how-to-use-ansible-to-set-up-a-production-elasticsearch- cluster [So verwenden Sie Ansible zum Einrichten eines Production Elasticsearch-Clusters].
Voraussetzungen
Sie müssen über mindestens drei Ubuntu 14.04-Server verfügen, um dieses Lernprogramm ausführen zu können, da ein Elasticsearch-Cluster über mindestens 3 masterfähige Knoten verfügen sollte. Wenn Sie dedizierte Master- und Datenknoten haben möchten, benötigen Sie mindestens 3 Server für Ihre Master-Knoten sowie zusätzliche Server für Ihre Datenknoten.
Wenn Sie lieber CentOS verwenden möchten, lesen Sie dieses Tutorial: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-production-elasticsearch-cluster-on-centos-7 [ Einrichten eines Production Elasticsearch-Clusters unter CentOS 7]
Annahmen
In diesem Lernprogramm wird davon ausgegangen, dass Ihre Server ein VPN wie das hier beschriebene verwenden: https://www.digitalocean.com/community/tutorials/how-to-use-ansible-and-tinc-vpn-to-secure-your- Serverinfrastruktur [So sichern Sie Ihre Serverinfrastruktur mit Ansible- und Tinc-VPN]. Dadurch wird die Funktionalität eines privaten Netzwerks unabhängig vom physischen Netzwerk bereitgestellt, das Ihre Server verwenden.
Wenn Sie ein freigegebenes privates Netzwerk verwenden, müssen Sie ein VPN verwenden, um Elasticsearch vor unbefugtem Zugriff zu schützen. Jeder Server muss sich in demselben privaten Netzwerk befinden, da Elasticsearch keine integrierte Sicherheit in der HTTP-Schnittstelle hat. Das private Netzwerk darf nicht mit Computern geteilt werden, denen Sie nicht vertrauen.
Wir bezeichnen die VPN-IP-Adressen Ihrer Server als "+ vpn_ip +". Wir gehen auch davon aus, dass sie alle über eine VPN-Schnittstelle mit dem Namen "tun0" verfügen, wie im oben verlinkten Lernprogramm beschrieben.
Installieren Sie Java 8
Elasticsearch benötigt Java, daher werden wir das jetzt installieren. Wir werden eine neuere Version von Oracle Java 8 installieren, da dies von Elasticsearch empfohlen wird. Es sollte jedoch gut mit OpenJDK funktionieren, wenn Sie sich für diesen Weg entscheiden.
Führen Sie diesen Schritt auf allen Ihren Elasticsearch-Servern aus.
Fügen Sie den Oracle Java PPA zu apt hinzu:
sudo add-apt-repository -y ppa:webupd8team/java
Aktualisieren Sie Ihre apt-Paketdatenbank:
sudo apt-get update
Installieren Sie die neueste stabile Version von Oracle Java 8 mit diesem Befehl (und akzeptieren Sie die Lizenzvereinbarung, die angezeigt wird):
sudo apt-get -y install oracle-java8-installer
Stellen Sie sicher, dass Sie diesen Schritt auf allen Ihren Elasticsearch-Servern wiederholen.
Nachdem Java 8 installiert ist, installieren wir ElasticSearch.
Installieren Sie Elasticsearch
Elasticsearch kann mit einem Paketmanager installiert werden, indem die Paketquellenliste von Elastic hinzugefügt wird. Führen Sie diesen Schritt auf allen Ihren Elasticsearch-Servern aus.
Führen Sie den folgenden Befehl aus, um den öffentlichen GPG-Schlüssel von Elasticsearch in apt zu importieren:
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Wenn Ihre Eingabeaufforderung dort nur hängt, wartet sie wahrscheinlich auf das Kennwort Ihres Benutzers (um den Befehl "+ sudo +" zu autorisieren). In diesem Fall geben Sie Ihr Passwort ein.
Erstellen Sie das Elasticsearch-Orderbuch:
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
Aktualisieren Sie Ihre apt-Paketdatenbank:
sudo apt-get update
Installieren Sie Elasticsearch mit diesem Befehl:
sudo apt-get -y install elasticsearch
Stellen Sie sicher, dass Sie diese Schritte auf allen Elasticsearch-Servern wiederholen.
Elasticsearch ist jetzt installiert, muss jedoch konfiguriert werden, bevor Sie es verwenden können.
Konfigurieren Sie den Elasticsearch-Cluster
Jetzt ist es Zeit, die Elasticsearch-Konfiguration zu bearbeiten. Führen Sie diese Schritte auf allen Ihren Elasticsearch-Servern aus.
Öffnen Sie die Elasticsearch-Konfigurationsdatei zum Bearbeiten:
sudo vi /etc/elasticsearch/elasticsearch.yml
In den folgenden Abschnitten wird erläutert, wie die Konfiguration geändert werden muss.
An VPN-IP-Adresse oder Schnittstelle binden
Sie möchten den externen Zugriff auf Ihre Elasticsearch-Instanz einschränken, damit Außenstehende nicht über die HTTP-API auf Ihre Daten zugreifen oder Ihren Elasticsearch-Cluster herunterfahren können. Mit anderen Worten, Sie müssen Elasticsearch so konfigurieren, dass nur auf Server in Ihrem privaten Netzwerk (VPN) zugegriffen werden kann. Dazu müssen wir jeden Knoten so konfigurieren, dass er an die VPN-IP-Adresse "+ vpn_ip +" oder die Schnittstelle "tun0" gebunden wird.
Suchen Sie die Zeile, die "+ network.host " angibt, kommentieren Sie sie aus und ersetzen Sie ihren Wert durch die VPN-IP-Adresse des jeweiligen Servers (z. ` 10.0.0.1 +` für node01) oder Schnittstellenname. Da unsere VPN-Schnittstelle auf allen unseren Servern den Namen "tun0" trägt, können wir alle unsere Server mit derselben Leitung konfigurieren:
elasticsearch.yml - network.host
network.host: [__, _local_]
Beachten Sie das Hinzufügen von "local", wodurch Elasticsearch so konfiguriert wird, dass es auch alle Loopback-Geräte überwacht. Auf diese Weise können Sie die Elasticsearch-HTTP-API lokal von jedem Server aus verwenden, indem Sie Anforderungen an "+ localhost +" senden. Wenn Sie dies nicht angeben, antwortet Elasticsearch nur auf Anfragen an die VPN-IP-Adresse.
Legen Sie den Clusternamen fest
Legen Sie als Nächstes den Namen Ihres Clusters fest, damit Ihre Elasticsearch-Knoten beitreten und den Cluster bilden können. Sie möchten einen aussagekräftigen Namen verwenden, der (innerhalb Ihres Netzwerks) eindeutig ist.
Suchen Sie die Zeile, die "+ cluster.name +" angibt, entfernen Sie das Kommentarzeichen und ersetzen Sie den Wert durch den gewünschten Clusternamen. In diesem Tutorial werden wir unseren Cluster "Produktion" nennen:
elasticsearch.yml - cluster.name
cluster.name:
Knotenname festlegen
Als nächstes legen wir den Namen jedes Knotens fest. Dies sollte ein beschreibender Name sein, der innerhalb des Clusters eindeutig ist.
Suchen Sie die Zeile, die "+ node.name " angibt, entfernen Sie das Kommentarzeichen und ersetzen Sie den Wert durch den gewünschten Knotennamen. In diesem Tutorial setzen wir jeden Knotennamen mit der Umgebungsvariablen ` $ {HOSTNAME} +` auf den Hostnamen des Servers:
elasticsearch.yml - knotenname
node.name: ${HOSTNAME}
Wenn Sie möchten, können Sie Ihre Knoten manuell benennen, stellen Sie jedoch sicher, dass Sie eindeutige Namen angeben. Sie können auch "+ knotenname +" auskommentieren, wenn Sie nicht möchten, dass Ihre Knoten zufällig benannt werden.
Festlegen von Discovery-Hosts
Als Nächstes müssen Sie eine erste Liste von Knoten konfigurieren, die kontaktiert werden, um einen Cluster zu ermitteln und zu bilden. Dies ist in einem Unicast-Netzwerk erforderlich.
Suchen Sie die Zeile, die "+ discovery.zen.ping.unicast.hosts +" angibt, und entfernen Sie das Kommentarzeichen. Ersetzen Sie den Wert durch ein Array von Zeichenfolgen der VPN-IP-Adressen oder Hostnamen (die in die VPN-IP-Adressen aufgelöst werden) aller anderen Knoten.
Wenn Sie beispielsweise drei Server haben, die die Zeichen "+ node01 ", " node02 " und " node03 " mit den entsprechenden VPN-IP-Adressen " 10.0.0.1 ", " 10.0.0.2 +" und "+10.0" haben. 0.3 + `, könnten Sie diese Zeile verwenden:
elasticsearch.yml - Hosts nach IP-Adresse
discovery.zen.ping.unicast.hosts: ["", "", ""]
Wenn alle Ihre Server mit einer namensbasierten Auflösung ihrer VPN-IP-Adressen konfiguriert sind (über DNS oder "+ / etc / hosts +"), können Sie auch diese Zeile verwenden:
elasticsearch.yml - Hosts nach Namen
discovery.zen.ping.unicast.hosts: ["", "", ""]
Speichern und schließen
Ihre Server sind jetzt so konfiguriert, dass sie einen grundlegenden Elasticsearch-Cluster bilden. Es gibt weitere Einstellungen, die Sie aktualisieren möchten. Diese werden jedoch angezeigt, nachdem Sie sichergestellt haben, dass der Cluster funktioniert.
Speichern und beenden Sie "+ elasticsearch.yml +".
Starten Sie die Elasticsuche
Starten Sie jetzt Elasticsearch:
sudo service elasticsearch restart
Führen Sie dann diesen Befehl aus, um Elasticsearch beim Booten zu starten:
sudo update-rc.d elasticsearch defaults 95 10
Stellen Sie sicher, dass Sie diese Schritte wiederholen (https://www.digitalocean.com/community/tutorials/how-to-set-up-a-production-elasticsearch-cluster-on-ubuntu-14-04#configure-elasticsearch-cluster) [Elasticsearch-Cluster konfigurieren]) auf allen Ihren Elasticsearch-Servern.
Überprüfen Sie den Clusterstatus
Wenn alles richtig konfiguriert wurde, sollte Ihr Elasticsearch-Cluster betriebsbereit sein. Vergewissern Sie sich vor dem Fortfahren, dass es ordnungsgemäß funktioniert. Sie können dies tun, indem Sie Elasticsearch von einem der Elasticsearch-Knoten aus abfragen.
Führen Sie auf einem Ihrer Elasticsearch-Server diesen Befehl aus, um den Status des Clusters zu drucken:
curl -XGET 'http://localhost:9200/_cluster/state?pretty'
Es sollte eine Ausgabe angezeigt werden, die angibt, dass ein Cluster mit dem Namen "production" ausgeführt wird. Es sollte auch anzeigen, dass alle von Ihnen konfigurierten Knoten Mitglieder sind:
Cluster State:{
"cluster_name" : "production",
"version" : 36,
"state_uuid" : "MIkS5sk7TQCl31beb45kfQ",
"master_node" : "k6k2UObVQ0S-IFoRLmDcvA",
"blocks" : { },
"nodes" : {
"Jx_YC2sTQY6ayACU43_i3Q" : {
"name" : "node02",
"transport_address" : "10.0.0.2:9300",
"attributes" : { }
},
"k6k2UObVQ0S-IFoRLmDcvA" : {
"name" : "node01",
"transport_address" : "10.0.0.1:9300",
"attributes" : { }
},
"kQgZZUXATkSpduZxNwHfYQ" : {
"name" : "node03",
"transport_address" : "10.0.0.3:9300",
"attributes" : { }
}
},
...
Wenn Sie eine ähnliche Ausgabe sehen, wird Ihr Elasticsearch-Cluster ausgeführt! Wenn einer Ihrer Knoten fehlt, überprüfen Sie die Konfiguration für den / die betreffenden Knoten, bevor Sie fortfahren.
Als Nächstes gehen wir einige Konfigurationseinstellungen durch, die Sie für Ihren Elasticsearch-Cluster berücksichtigen sollten.
Aktivieren Sie die Speichersperre
Elastic empfiehlt, den Elasticsearch-Prozess auf keinen Fall zu vertauschen, da sich dies negativ auf die Leistung und Stabilität auswirkt. Eine Möglichkeit, übermäßiges Auslagern zu vermeiden, besteht darin, Elasticsearch so zu konfigurieren, dass der benötigte Speicher gesperrt wird.
Führen Sie diesen Schritt auf allen Ihren Elasticsearch-Servern aus.
Bearbeiten Sie die Elasticsearch-Konfiguration:
sudo vi /etc/elasticsearch/elasticsearch.yml
Suchen Sie die Zeile, die "+ bootstrap.mlockall +" angibt, und kommentieren Sie sie aus:
elasticsearch.yml - bootstrap.mlockall
bootstrap.mlockall: true
Speichern und schließen.
Öffnen Sie als nächstes die Datei "+ / etc / default / elasticsearch +" zum Bearbeiten:
sudo vi /etc/default/elasticsearch
Suchen Sie zuerst "+ ES_HEAP_SIZE ", kommentieren Sie es aus und stellen Sie es auf ungefähr 50% des verfügbaren Speichers ein. Wenn Sie beispielsweise ungefähr 4 GB frei haben, sollten Sie dies auf 2 GB einstellen (` 2g +`):
/ etc / default / elasticsearch - ES_HEAP_SIZE
ES_HEAP_SIZE=
Als nächstes suchen und kommentieren Sie "+ MAX_LOCKED_MEMORY = unlimited". Es sollte so aussehen, wenn Sie fertig sind:
/ etc / default / elasticsearch - MAX_LOCKED_MEMORY
MAX_LOCKED_MEMORY=unlimited
Speichern und schließen.
Starten Sie jetzt Elasticsearch neu, um die Änderungen zu übernehmen:
sudo service elasticsearch restart
Stellen Sie sicher, dass Sie diesen Schritt auf allen Ihren Elasticsearch-Servern wiederholen.
Überprüfen Sie den Mlockall-Status
Um zu überprüfen, ob + mlockall +
auf allen Ihren Elasticsearch-Knoten funktioniert, führen Sie diesen Befehl von einem beliebigen Knoten aus:
curl http://localhost:9200/_nodes/process?pretty
Jeder Knoten sollte eine Zeile mit der Aufschrift "+" mlockall ": true +" haben, die angibt, dass die Speichersperre aktiviert ist und funktioniert:
Nodes process output:...
"nodes" : {
"kQgZZUXATkSpduZxNwHfYQ" : {
"name" : "es03",
"transport_address" : "10.0.0.3:9300",
"host" : "10.0.0.3",
"ip" : "10.0.0.3",
"version" : "2.2.0",
"build" : "8ff36d1",
"http_address" : "10.0.0.3:9200",
"process" : {
"refresh_interval_in_millis" : 1000,
"id" : 1650,
}
...
Wenn "+ mlockall " für einen Ihrer Knoten falsch ist, überprüfen Sie die Einstellungen des Knotens und starten Sie Elasticsearch neu. Ein häufiger Grund dafür, dass Elasticsearch nicht gestartet werden kann, ist, dass " ES_HEAP_SIZE +" zu hoch eingestellt ist.
Open File Descriptor Limit konfigurieren (optional)
Standardmäßig sollte Ihr Elasticsearch-Knoten ein "Open File Descriptor Limit" von 64 KB haben. In diesem Abschnitt erfahren Sie, wie Sie dies überprüfen und gegebenenfalls erhöhen können.
So überprüfen Sie die maximale Anzahl geöffneter Dateien
Ermitteln Sie zunächst die Prozess-ID (PID) Ihres Elasticsearch-Prozesses. Eine einfache Möglichkeit, dies zu tun, besteht darin, den Befehl "+ ps " zu verwenden, um alle Prozesse aufzulisten, die dem Benutzer " elasticsearch +" gehören:
ps -u elasticsearch
Sie sollten eine Ausgabe sehen, die so aussieht. Die Zahl in der ersten Spalte ist die PID Ihres Elasticsearch (Java) -Prozesses:
Output: PID TTY TIME CMD
? 00:00:10 java
Führen Sie dann diesen Befehl aus, um die Grenzwerte für geöffnete Dateien für den Elasticsearch-Prozess anzuzeigen (ersetzen Sie die markierte Nummer durch Ihre eigene PID aus dem vorherigen Schritt):
cat /proc//limits | grep 'Max open files'
OutputMax open files 65535 65535 files
Die Zahlen in der zweiten und dritten Spalte geben die weichen bzw. harten Grenzen als 64k (65535) an. Dies ist für viele Setups in Ordnung, Sie können diese Einstellung jedoch erhöhen.
Erhöhen der maximalen Dateideskriptorgrenzwerte
Um die maximale Anzahl offener Dateideskriptoren in Elasticsearch zu erhöhen, müssen Sie nur eine einzelne Einstellung ändern.
Öffnen Sie die Datei + / etc / default / elasticsearch +
zum Bearbeiten:
sudo vi /etc/default/elasticsearch
Suchen Sie nach "+ MAX_OPEN_FILES ", kommentieren Sie es aus und stellen Sie es auf das gewünschte Limit ein. Wenn Sie beispielsweise eine Beschränkung auf 128.000 Deskriptoren wünschen, ändern Sie diese in " 131070 +":
/ etc / default / elasticsearch - MAX_OPEN_FILES
MAX_OPEN_FILES=
Speichern und schließen.
Starten Sie jetzt Elasticsearch neu, um die Änderungen zu übernehmen:
sudo service elasticsearch restart
Befolgen Sie dann den vorherigen Unterabschnitt, um sicherzustellen, dass die Grenzwerte erhöht wurden.
Stellen Sie sicher, dass Sie diesen Schritt auf allen Elasticsearch-Servern wiederholen, für die höhere Dateideskriptorgrenzwerte erforderlich sind.
Konfigurieren Sie dedizierte Master- und Datenknoten (optional)
Es gibt zwei gängige Arten von Elasticsearch-Knoten: * master * und * data *. Masterknoten führen clusterweite Aktionen aus, z. B. das Verwalten von Indizes und das Bestimmen, welche Datenknoten bestimmte Daten-Shards speichern sollen. Datenknoten enthalten Shards Ihrer indizierten Dokumente und führen CRUD-, Such- und Aggregationsvorgänge aus. In der Regel belegen Datenknoten eine erhebliche Menge an CPU, Speicher und E / A.
Standardmäßig ist jeder Elasticsearch-Knoten als "Master-fähiger" Datenknoten konfiguriert. Dies bedeutet, dass er Daten speichert (und ressourcenintensive Vorgänge ausführt) und möglicherweise als Master-Knoten ausgewählt wird. Bei einem kleinen Cluster ist dies normalerweise in Ordnung. Ein großer Elasticsearch-Cluster sollte jedoch mit * dedizierten * Masterknoten konfiguriert werden, damit die Stabilität des Masterknotens nicht durch intensive Datenknotenarbeit beeinträchtigt wird.
So konfigurieren Sie dedizierte Master-Knoten
Stellen Sie vor dem Konfigurieren dedizierter Masterknoten sicher, dass Ihr Cluster über mindestens 3 Master-fähige Knoten verfügt. Dies ist wichtig, um eine Split-Brain-Situation zu vermeiden, die bei einem Netzwerkausfall zu Inkonsistenzen in Ihren Daten führen kann.
Bearbeiten Sie zum Konfigurieren eines dedizierten Masterknotens die Elasticsearch-Konfiguration des Knotens:
sudo vi /etc/elasticsearch/elasticsearch.yml
Fügen Sie die beiden folgenden Zeilen hinzu:
elasticsearch.yml - engagierter meister
node.master: true
node.data: false
Die erste Zeile, + node.master: true +
, gibt an, dass der Knoten für den Master geeignet ist und tatsächlich die Standardeinstellung ist. Die zweite Zeile, + node.data: false +
, verhindert, dass der Knoten ein Datenknoten wird.
Speichern und schließen.
Starten Sie nun den Elasticsearch-Knoten neu, damit die Änderung wirksam wird:
sudo service elasticsearch restart
Stellen Sie sicher, dass Sie diesen Schritt auf Ihren anderen dedizierten Masterknoten wiederholen.
Mit diesem Befehl können Sie den Cluster abfragen, um festzustellen, welche Knoten als dedizierte Masterknoten konfiguriert sind: + curl -XGET 'http: // localhost: 9200 / _cluster / state? Pretty' +
. Jeder Knoten mit + data: false +
und + master: true +
sind dedizierte Masterknoten.
So konfigurieren Sie dedizierte Datenknoten
Bearbeiten Sie die Elasticsearch-Konfiguration des Knotens, um einen dedizierten Datenknoten zu konfigurieren - einen Datenknoten, der nicht für den Master geeignet ist:
sudo vi /etc/elasticsearch/elasticsearch.yml
Fügen Sie die beiden folgenden Zeilen hinzu:
elasticsearch.yml - dedizierte Daten
node.master: false
node.data: true
Die erste Zeile, + node.master: false +
, gibt an, dass der Knoten nicht für den Master geeignet ist. Die zweite Zeile, + node.data: true +
, ist die Standardeinstellung, mit der der Knoten ein Datenknoten sein kann.
Speichern und schließen.
Starten Sie nun den Elasticsearch-Knoten neu, damit die Änderung wirksam wird:
sudo service elasticsearch restart
Stellen Sie sicher, dass Sie diesen Schritt auf Ihren anderen dedizierten Datenknoten wiederholen.
Mit diesem Befehl können Sie den Cluster abfragen, um festzustellen, welche Knoten als dedizierte Datenknoten konfiguriert sind: + curl -XGET 'http: // localhost: 9200 / _cluster / state? Pretty' +
. Jeder Knoten, der "+ master: false " und * nicht * " data: false +" auflistet, sind dedizierte Datenknoten.
Konfigurieren Sie die minimalen Hauptknoten
Bei der Ausführung eines Elasticsearch-Clusters ist es wichtig, die Mindestanzahl der für den Master qualifizierten Knoten festzulegen, die ausgeführt werden müssen, damit der Cluster normal funktioniert. Dies wird manchmal als * Quorum * bezeichnet. Auf diese Weise wird die Datenkonsistenz für den Fall sichergestellt, dass einer oder mehrere Knoten die Verbindung zum Rest des Clusters verlieren, wodurch eine sogenannte Split-Brain-Situation vermieden wird.
Um die Anzahl der minimalen Hauptknoten zu berechnen, die Ihr Cluster haben sollte, berechnen Sie + n / 2 + 1 +
, wobei n die Gesamtzahl der für den Master in Frage kommenden Knoten in Ihrem fehlerfreien Cluster ist, und runden Sie dann das Ergebnis auf den nächsten ab ganze Zahl. Bei einem Cluster mit 3 Knoten ist das Quorum beispielsweise 2.
Die minimale Einstellung für Hauptknoten kann über die Elasticsearch-HTTP-API dynamisch festgelegt werden. Führen Sie dazu diesen Befehl auf einem beliebigen Knoten aus (ersetzen Sie die markierte Zahl durch Ihr Quorum):
curl -XPUT localhost:9200/_cluster/settings?pretty -d '{
"persistent" : {
"discovery.zen.minimum_master_nodes" :
}
}'
Output:{
"acknowledged" : true,
"persistent" : {
"discovery" : {
"zen" : {
"minimum_master_nodes" : "2"
}
}
},
"transient" : { }
}
Wenn Sie diese Einstellung später überprüfen möchten, können Sie den folgenden Befehl ausführen:
curl -XGET localhost:9200/_cluster/settings?pretty
So greifen Sie auf Elasticsearch zu
Sie können auf die Elasticsearch-HTTP-API zugreifen, indem Sie Anforderungen an die VPN-IP-Adresse eines beliebigen Knotens senden oder, wie im Lernprogramm gezeigt, von einem der Knoten aus Anforderungen an "+ localhost +" senden.
Auf Ihren Elasticsearch-Cluster können Client-Server über die VPN-IP-Adresse eines beliebigen Knotens zugreifen. Dies bedeutet, dass die Client-Server auch Teil des VPN sein müssen.
Wenn Sie über andere Software verfügen, die eine Verbindung zu Ihrem Cluster herstellen muss, z. B. Kibana oder Logstash, können Sie die Verbindung in der Regel konfigurieren, indem Sie Ihrer Anwendung die VPN-IP-Adressen eines oder mehrerer Elasticsearch-Knoten bereitstellen.
Fazit
Ihr Elasticsearch-Cluster sollte in einem fehlerfreien Zustand ausgeführt und mit einigen grundlegenden Optimierungen konfiguriert werden!
Elasticsearch bietet viele andere Konfigurationsoptionen, die hier nicht behandelt wurden, z. B. Index-, Shard- und Replikationseinstellungen. Es wird empfohlen, dass Sie Ihre Konfiguration später zusammen mit der offiziellen Dokumentation erneut überprüfen, um sicherzustellen, dass Ihr Cluster Ihren Anforderungen entsprechend konfiguriert ist.