Utilisez docker pour déployer rapidement des machines et des clusters autonomes rabbitmq

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

Je suppose que tu aimes

Origine blog.csdn.net/kk3909/article/details/111938110
conseillé
Classement