Heim > php教程 > php手册 > So verstehen Sie die Elasticsearch-Clusterbereitstellung auf einer Maschine und mit zwei Knoten

So verstehen Sie die Elasticsearch-Clusterbereitstellung auf einer Maschine und mit zwei Knoten

坏嘻嘻
Freigeben: 2018-09-14 16:03:42
Original
12351 Leute haben es durchsucht

In diesem Artikel werden wir einige grundlegende Informationen zur Durchführung von CRUD in Elasticsearch erlernen.

Bereitstellung eines eigenständigen Dual-Node-Clusters von Elasticsearch

环境:CentOS 7.2       JDK 1.8.0_74
Nach dem Login kopieren


1. Installieren Sie den ersten ElasticSearch (Masterknoten)

1. Sie können den Root-Benutzer nicht zum Starten von es verwenden.

useradd es
passwd es
Nach dem Login kopieren

Der Root-Benutzer betritt das Verzeichnis /home/es

2 Installationspaket

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.2.tar.gz
Nach dem Login kopieren

3. Entpacken und umbenennen (um die Unterscheidung eines anderen ES beim Clustering zu erleichtern)

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node2
Nach dem Login kopieren

Der Änderungsinhalt ist wie folgt:

vi elasticsearch-node2/config/elasticsearch.yml
Nach dem Login kopieren

Fügen Sie den folgenden Inhalt am Ende der Datei hinzu, damit der Verbindungskopf den Gesundheitswert anzeigt (beachten Sie, dass vor jeder Codezeile keine Leerzeichen stehen dürfen)

cluster.name: my-application      
  各节点此名称必须一致node.name: node-2           
        节点名称,不能与其他节点相同        
         network.host: ***.***.***.***   
        自己的服务器IPhttp.port: ****         
           访问端口transport.tcp.port: ****  
    集群各节点间的通讯端口 discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]
Nach dem Login kopieren

5. Start

http.cors.enabled: truehttp.cors.allow-origin: "*"
Nach dem Login kopieren
Nach dem Login kopieren
sh elasticsearch-node2/bin/elasticsearch
Nach dem Login kopieren

Erfolgreich gestartet, geben Sie

IP: Zugriffsport<🎜 in den Browser ein >

Die Webseite zeigt den folgenden Inhalt an, was darauf hinweist, dass die Bereitstellung erfolgreich war

[2018-01-24T15:36:41,990][INFO ][o.e.n.Node               ] [KMyyO-3] started
[2018-01-24T15:36:41,997][INFO ][o.e.g.GatewayService     ] [KMyyO-3] recovered [0] indices into cluster_state
Nach dem Login kopieren

6. Fehlerberichterstattung und deren Behandlung

[Typ 1]

{
  "name" : "node-2",
  "cluster_name" : "my-application",
  "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",    
  "version" : {
    "number" : "6.1.2",
    "build_hash" : "5b1fea5",
    "build_date" : "2018-01-10T02:35:59.208Z",
    "build_snapshot" : false,
    "lucene_version" : "7.1.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"}
Nach dem Login kopieren

Dieses Problem liegt daran, dass die Ausführung von es nicht als Root-Benutzer verwendet werden kann. Sie müssen also zum Benutzer „es“ wechseln und erneut starten

Caused by: java.lang.RuntimeException: can not run elasticsearch as root
Nach dem Login kopieren

[Typ 2]

chown -R es:es elasticsearch-node2/su - es
sh elasticsearch-node2/bin/elasticsearch
Nach dem Login kopieren

Die Lösung besteht darin, zurück zum Root-Benutzer zu wechseln und die Konfigurationsdatei zu ändern

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
Nach dem Login kopieren

[Typ 3]

vi /etc/security/limits.conf#在最后面追加下面内容es hard nofile 65536es soft nofile 65536
Nach dem Login kopieren

Lösung, Wechseln Sie zurück zum Root-Benutzer und ändern Sie die Konfigurationsdatei

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Nach dem Login kopieren

2. Installieren Sie den zweiten ElasticSearch (Sekundärknoten)

Die Installationsmethode ist die gleiche wie bei der ersten, zahlen Sie Achtung, um die Konfigurationsdatei zu ändern Root-Benutzer betritt das Verzeichnis /home/es
1. Entpacken und umbenennen

vi /etc/sysctl.conf 
#在最后面追加下面内容vm.max_map_count=655360#执行命令:sysctl -p
Nach dem Login kopieren

Ändern Der Inhalt ist wie folgt: Die Datei

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node3
Nach dem Login kopieren

hängt am Ende außerdem den folgenden Code an:

vi elasticsearch-node3/config/elasticsearch.yml
Nach dem Login kopieren

3. Starten Sie den Browser

cluster.name: my-application      
  各节点此名称必须一致node.name: node-3      
               节点名称,不能与其他节点相同network.host: ***.***.***.***   
                   自己的服务器IPhttp.port: ****          
                              访问端口(注意不要与第一个端口重复)                              transport.tcp.port: ****            集群各节点间的通讯端口(注意不要与第一个端口重复)discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]
Nach dem Login kopieren

und geben Sie

IP: access ein Port

Die Webseite zeigt den folgenden Inhalt an, der darauf hinweist, dass die zweite Bereitstellung erfolgreich war

3. Installieren Sie das Elasticsearch-Head-Plug-in 1 Sie müssen node.js vor der Installation des Head-Plug-Ins installieren

http.cors.enabled: truehttp.cors.allow-origin: "*"
Nach dem Login kopieren
Nach dem Login kopieren

Führen Sie nach Abschluss der Installation den Befehl aus, um die Node- und NPM-Versionen anzuzeigen

sh elasticsearch-node3/bin/elasticsearch
Nach dem Login kopieren
2. Holen Sie sich das Head-Plug-in. von git
{
  "name" : "node-3",
  "cluster_name" : "my-application",
  "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",
  "version" : {
    "number" : "6.1.2",
    "build_hash" : "5b1fea5",
    "build_date" : "2018-01-10T02:35:59.208Z",
    "build_snapshot" : false,
    "lucene_version" : "7.1.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"}
Nach dem Login kopieren

3. Entpacken Sie das Installationspaket (Sie können es zur einfacheren Bedienung umbenennen)

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs
Nach dem Login kopieren

4. Ändern Sie die Konfigurationsdatei

[root@host]# node -vv8.12.0[root@host]# npm -v6.4.1
Nach dem Login kopieren

Ändern Sie die Hauptportnummer

wget https://github.com/mobz/elasticsearch-head/archive/master.zip
Nach dem Login kopieren
e

Ändern Sie die Head-Link-Adresse

unzip master.zip
mv elasticsearch-head-master/ head
Nach dem Login kopieren

5. Starten Sie head

vi head/Gruntfile.js
Nach dem Login kopieren

6. Melden Sie sich bei head mit einem Browser an

URL-Eingabeserver-IP: Head-Zugriffsport

Geben Sie die Linkadresse als Zugriffsadresse des Masterknotens ein

7. Häufige Fehler bei der Installation von Head
[Typ 1] Erfolgreich gestartet, aber die Webseite kann nicht gestartet werden Zugriff So verstehen Sie die Elasticsearch-Clusterbereitstellung auf einer Maschine und mit zwei KnotenLösung

Schließen Sie die Server-Firewall

connect: {          server: {
                   options: {
                              port: ****,    改为head访问端口
                              base: &#39;.&#39;,
                              keepalive: true                             }
                    }
          }
Nach dem Login kopieren

[Typ 2] Der Cluster-Gesundheitswert ist nicht verbunden
Fügen Sie den folgenden Code zu elasticsearch.yml hinzu ( Beachten Sie, dass darin keine Leerzeichen enthalten sein dürfen vor dem Code)
vi head/_site/app.js
Nach dem Login kopieren

Frage: Warum verwenden ES-Knoten Knoten2 und Knoten3?
Antwort: Da ich zuvor Knoten1 zum Erstellen eines nicht geclusterten ES verwendet habe, habe ich 2 und 3 für die nachfolgenden Cluster verwendet.

Verwandte Empfehlungen:

So verwenden Sie Yii2-elasticsearch ah ?

CRUD in Elasticsearch

Das obige ist der detaillierte Inhalt vonSo verstehen Sie die Elasticsearch-Clusterbereitstellung auf einer Maschine und mit zwei Knoten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
es
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage