Répertoire d'articles
Préparation environnementale
Nom du nœud | adresse IP |
---|---|
node1 | 192.168.130.20 |
node2 | 192.168.130.19 |
node3 | 192.168.130.21 |
Installer docker
légèrement
Modifier l'hôte (modifier pour chaque nœud)
Le premier nom est le nom de l'hôte et le second est le nom utilisé pour construire le cluster (--hostname)
192.168.130.20 rq-node1
192.168.130.19 rq-node2
192.168.130.21 rq-node3
Installer rabbitmq autonome
mkdir -p /root/rabbitm_sg/data
docker run -d --network=host \
--hostname rq-node --name rq-node \
-v /root/rabbitmq_sg/data:/var/lib/rabbitmq \
-p 15673:15672 -p 5673:5672 \
-e RABBITMQ_ERLANG_COOKIE='helloCookie' \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin1234 \
rabbitmq:3.7-management
Installer le cluster rabbitmq
Créer un répertoire (par nœud)
mkdir -p /root/rabbitmq/data
Commencez
node1
docker run -d --network=host \
--hostname rq-node1 --name rq-node1 \
-v /root/rabbitmq/data:/var/lib/rabbitmq \
-p 15672:15672 -p 5672:5672 \
-e RABBITMQ_ERLANG_COOKIE='helloCookie' \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin1234 \
rabbitmq:3.7-management
node2
docker run -d --network=host \
--hostname rq-node2 --name rq-node2 \
-v /root/rabbitmq/data:/var/lib/rabbitmq \
-p 15672:15672 -p 5672:5672 \
-e RABBITMQ_ERLANG_COOKIE='helloCookie' \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin1234 \
rabbitmq:3.7-management
node3
docker run -d --network=host \
--hostname rq-node3 --name rq-node3 \
-v /root/rabbitmq/data:/var/lib/rabbitmq \
-p 15672:15672 -p 5672:5672 \
-e RABBITMQ_ERLANG_COOKIE='helloCookie' \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin1234 \
rabbitmq:3.7-management
RABBITMQ_ERLANG_COOKIE doit être cohérent et le contenu est arbitraire (requis pour la synchronisation du cluster)
Rejoignez le cluster
node1
docker exec -it rq-node1 sh
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
node2
docker exec -it rq-node2 sh
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rq-node1
rabbitmqctl start_app
node3
docker exec -it rq-node3 sh
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rq-node1
rabbitmqctl start_app
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
Vérifier l'état du cluster
Entrez dans le conteneur et exécutez la commande suivante
rabbitmqctl cluster_status
Vous pouvez également utiliser un navigateur pour ouvrir un nœud: http://192.168.130.20:15672
entrez le nom d'utilisateur et le mot de passe (définis ci-dessus) et connectez-vous pour afficher les nœuds