Einrichten eines Production Elasticsearch-Clusters unter Ubuntu 14.04

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.