mac pro m1 : créez un cluster zookeeper et configurez-le pour qu'il démarre automatiquement

0 Préface

Nous avons expliqué comment construire un seul nœud zookeeper avant , mais en production réelle, afin d'assurer une haute disponibilité du service, nous utilisons généralement le mode cluster. Donc cette fois nous allons pratiquer la construction du mode cluster

1. mode cluster zk

zk peut être utilisé comme centre d'enregistrement et centre de configuration, et est souvent utilisé dans des scénarios de gouvernance de services multi-nœuds de divers composants de microservices. Le zk à nœud unique est sujet au problème de l'absence de nœud de sauvegarde lorsqu'une panne se produit.

Le mode cluster de zk est un mode maître-esclave. Le nœud maître est responsable de l'écriture des données, le nœud esclave est responsable de la lecture des données et les données du nœud esclave sont synchronisées à partir du nœud maître. La communication de données est effectuée entre chaque nœud via le port 2888.

Le rôle du cluster
étant un mode maître-esclave, ses rôles ont naturellement deux rôles : maître (Leader) et esclave (Follower) auquel s'ajoute un rôle d'observateur

Rôle illustrer
Nœud maître principal Fournir des services de lecture et d'écriture aux clients et être responsable de l'élection du vote principal
Nœud esclave suiveur Fournir des services de lecture aux clients et participer au vote pour le maître
Observateur Observateur Fournir des services de lecture aux clients, ne pas participer à l'élection du vote principal

2. Construire

0. Parce que zookeeper est développé sur la base de java, il est nécessaire d'installer d'abord l'environnement java, qui a été expliqué précédemment, et ne sera pas expliqué séparément ici

1. Téléchargez le package d'installation de zookeeper : adresse de téléchargement du package d'installation de zookeeper

Ici je choisis 3.8.0la version

insérez la description de l'image ici

2. Décompressez le package d'installation, ici je télécharge le package compressé zk dans le /datarépertoire de la machine virtuelle

cd /data
tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz

3. Dans le répertoire d'installation de zk, créez tmpun répertoire et créez myidun fichier, déclarez l'identifiant du nœud du cluster, le premier nœud, nous déclarons le contenu du fichier comme1

cd /data/apache-zookeeper-3.8.0-bin
mkdir tmp
vim tmp/myid
# 文本内容
1

4. Modifiez le fichier de configuration zk et renommez- zoo_sample.cfgle zoo.cfg pour le rendre effectif

cp conf/zoo_sample.cfg conf/zoo.cfg

5. Modifier le contenu dans le fichier de configuration

vim conf/zoo.cfg

Le contenu est :

# 修改数据目录为刚刚创建的tmp目录
dataDir=/data/apache-zookeeper-3.8.0-bin/tmp
# 添加集群节点,其中2888是节点通信端口,3888是节点选主端口
server.1=192.168.244.42:2888:3888
server.2=192.168.244.43:2888:3888
server.3=192.168.244.44:2888:3888

insérez la description de l'image ici

6. Copiez le fichier du répertoire d'installation de zookeeper sur les 2 autres nœuds zk

scp -r /data/apache-zookeeper-3.8.0-bin [email protected]:/data/
scp -r /data/apache-zookeeper-3.8.0-bin [email protected]:/data/

7. Modifiez myidle contenu des deux autres nœuds, respectivement 2,3, faites attention à garder le contenu cohérent avec l'étape 5 ci-dessus

8. Ouvrez les ports liés à zk. Si le pare-feu n'est pas ouvert, cette étape peut être omise.

firewall-cmd --add-port=2181/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=2888/tcp --permanent
firewall-cmd --add-port=3888/tcp --permanent
firewall-cmd --reload
# 查询开放端口
netstat -anp

9. Démarrer zk avec 3 nœuds

/data/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start

insérez la description de l'image ici

10. Vérifiez l'état du cluster de nœuds

 /data/apache-zookeeper-3.8.0-bin/bin/zkServer.sh status

insérez la description de l'image ici
insérez la description de l'image ici
insérez la description de l'image ici

On peut voir que le cluster zk démarre avec succès, et on trouve qu'il y a 2 nœuds suiveurs et 1 nœud leader en interrogeant le statut

Donc en fait, le mode cluster de zk est le mode maître-esclave, et ici on a 1 maître et 2 esclaves

2. Réglez le démarrage pour qu'il démarre automatiquement

1. Écrire un script de démarrage

cd /etc/init.d
vim zookeeper

contenu:

#!bin/bash
#chkconfig:2345 54 26
#processname:zookeeper
#description:zk server
prog=/data/apache-zookeeper-3.8.0-bin/bin/zkServer.sh
start(){                                
        $prog start 
        echo "zookeeper启动"
}
stop(){                                
        $prog stop 
        echo "zookeeper关闭"
}
status(){
        $prog status
}
restart(){              
        stop
        start
}
case "$1" in        
"start")
        start      
        ;;
"stop")            
        stop
        ;;
"status")
        status
        ;;
"restart")            
        restart
        ;;
*)      
        echo "支持指令:$0 start|stop|restart|status"
        ;;
esac

dans

chkconfig : 2345 54 26 est utilisé pour définir le niveau d'exécution, la priorité de démarrage et la priorité d'arrêt lors du démarrage automatique

2. Renforcez le script

chmod +x /etc/init.d/zookeeper

3. Vous devez également configurer le chemin JAVA, sinon l'exécution signalera une erreurError: JAVA_HOME is not set and java could not be found in PATH

Dans le répertoire bin du répertoire d'installation de zk, modifiez zkEnv.shet ajoutez la description du chemin java

vim /data/apache-zookeeper-3.8.0-bin/bin/zkEnv.sh
# 内容
JAVA_HOME="/var/local/zulu8.58.0.13-ca-jdk8.0.312-linux_aarch64"

insérez la description de l'image ici
4. Exécutez le script et vérifiez-le

service zookeeper status
service zookeeper stop
service zookeeper start

insérez la description de l'image ici

5. Ajouter à la liste de démarrage

# 添加开机自启
chkconfig --add zookeeper
# 状态设置为启动
chkconfig zookeeper on

6. Redémarrez la machine virtuelle, vérifiez l'état de zookeeper et constatez qu'il est automatiquement démarré

insérez la description de l'image ici

7. Effectuez les mêmes réglages de démarrage automatique sur les deux autres nœuds

Comme ci-dessus, l'installation de notre cluster zk est terminée !

Je suppose que tu aimes

Origine blog.csdn.net/qq_24950043/article/details/131502141
conseillé
Classement