Table des matières
Déploiement de cluster autonome à deux nœuds Elasticsearch
Maison php教程 php手册 Comment comprendre le déploiement de cluster à deux nœuds sur une seule machine Elasticsearch

Comment comprendre le déploiement de cluster à deux nœuds sur une seule machine Elasticsearch

Sep 14, 2018 pm 04:03 PM
es

Dans cet article, nous ferons quelques apprentissages de base sur la façon d'exécuter CRUD dans Elasticsearch.

Déploiement de cluster autonome à deux nœuds Elasticsearch

环境:CentOS 7.2       JDK 1.8.0_74
Copier après la connexion


1. Installez le premier ElasticSearch (nœud maître) <.>

1. Créez un utilisateur es. L'utilisateur root ne peut pas être utilisé pour démarrer es

useradd es
passwd es
Copier après la connexion
L'utilisateur root entre dans le répertoire /home/es

2. . Obtenez le package d'installation d'ElasticSearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.2.tar.gz
Copier après la connexion
3. Décompressez et renommez (pour faciliter la différenciation d'un autre ES lors du clustering)

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node2
Copier après la connexion
4. 🎜>

Le contenu de la modification est le suivant :

vi elasticsearch-node2/config/elasticsearch.yml
Copier après la connexion

Ajoutez le contenu suivant à la fin du fichier pour connecter la tête afin d'afficher la valeur de santé (notez qu'il ne doit pas y avoir d'espaces avant chaque ligne de code)

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

5. Démarrer

http.cors.enabled: truehttp.cors.allow-origin: "*"
Copier après la connexion
Copier après la connexion
Copier après la connexion

Démarrez avec succès, saisissez
sh elasticsearch-node2/bin/elasticsearch
Copier après la connexion
IP : port d'accès dans le navigateur
[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
Copier après la connexion

La page Web affiche le contenu suivant, indiquant que le déploiement est réussi

6. Rapport d'erreurs et sa gestion

【Type 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"}
Copier après la connexion


Ce problème est dû au fait que vous ne pouvez pas utiliser l'utilisateur root pour exécuter es, vous devez donc passer à l'utilisateur es et recommencer

Caused by: java.lang.RuntimeException: can not run elasticsearch as root
Copier après la connexion

【Type 2】

chown -R es:es elasticsearch-node2/su - es
sh elasticsearch-node2/bin/elasticsearch
Copier après la connexion

Solution, revenez à la racine utilisateur, modifier le fichier de configuration

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
Copier après la connexion

[Type 3]

vi /etc/security/limits.conf#在最后面追加下面内容es hard nofile 65536es soft nofile 65536
Copier après la connexion

Solution, revenir à l'utilisateur root, modifier le fichier de configuration

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Copier après la connexion

2. Installez le deuxième ElasticSearch (nœud secondaire)
vi /etc/sysctl.conf 
#在最后面追加下面内容vm.max_map_count=655360#执行命令:sysctl -p
Copier après la connexion

La méthode d'installation est la même que la première, faites attention à modifier le fichier de configuration L'utilisateur root entre dans le répertoire /home/es
1. Décompressez et renommez

2. Modifiez le fichier de configuration

tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node3
Copier après la connexion

Le contenu modifié est le suivant :

vi elasticsearch-node3/config/elasticsearch.yml
Copier après la connexion

fichier Enfin, ajoutez le code suivant

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

3. Démarrez le navigateur

http.cors.enabled: truehttp.cors.allow-origin: "*"
Copier après la connexion
Copier après la connexion
Copier après la connexion

et entrez

IP : port d'accès
sh elasticsearch-node3/bin/elasticsearch
Copier après la connexion

La page Web affiche le contenu suivant, indiquant que le deuxième déploiement est réussi

3. Installez le plug-in Elasticsearch-head
{
  "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"}
Copier après la connexion

1. pour installer node.js
Une fois l'installation terminée, exécutez la commande pour afficher les versions node et npm

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs
Copier après la connexion

2. Obtenez le plug-in head depuis git

[root@host]# node -vv8.12.0[root@host]# npm -v6.4.1
Copier après la connexion

3. Décompressez le package d'installation (vous pouvez le renommer pour une utilisation facile)

wget https://github.com/mobz/elasticsearch-head/archive/master.zip
Copier après la connexion

4. Modifiez le fichier de configuration

unzip master.zip
mv elasticsearch-head-master/ head
Copier après la connexion

Changez la tête. numéro de port

vi head/Gruntfile.js
Copier après la connexion

Modifiez l'adresse du lien principal
connect: {          server: {
                   options: {
                              port: ****,    改为head访问端口
                              base: &#39;.&#39;,
                              keepalive: true                             }
                    }
          }
Copier après la connexion
vi head/_site/app.js
Copier après la connexion

5. Démarrer la tête

init: function(parent) {
                        this._super();                        this.prefs = services.Preferences.instance();                        this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://主节点IP:访问端口";
Copier après la connexion

6.

nohup npm run start > ../head.log 2>&1 &
Copier après la connexion


IP du serveur d'entrée URL : port d'accès de la tête Comment comprendre le déploiement de cluster à deux nœuds sur une seule machine ElasticsearchEntrez l'adresse du lien comme adresse d'accès du nœud maître

7. Erreurs courantes lors de l'installation de la tête

[Type 1] Démarrage réussi, mais la page Web n'est pas accessible
Solution
Désactivez le pare-feu du serveur


[Type 2] Cluster La valeur de santé n'est pas connectée

Ajoutez le code suivant à elasticsearch.yml (notez qu'il ne doit pas y avoir d'espaces devant le code)
service iptables stop
Copier après la connexion


Q : Pourquoi node2 et node3 sont-ils utilisés pour les nœuds es ?

Réponse : Parce que j'ai utilisé node1 pour créer un ES non clusterisé auparavant, j'ai utilisé 2 et 3 pour les clusters suivants
http.cors.enabled: truehttp.cors.allow-origin: "*"
Copier après la connexion
Copier après la connexion
Copier après la connexion

Recommandations associées :

Comment utiliser Yii2-elasticsearch ah ?

CRUD dans Elasticsearch

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)