一、单docker实例部署集群:
1、启动镜像
# docker run -ti –hostname localhost –name rabbitmq -p 15672:15672 -p 5672:5672 -p 5673:5673 -p 5674:5674 rabbitmq /bin/bash

2、启动三个节点
# RABBITMQ_NODE_PORT=5672 RABBITMQ_SERVER_START_ARGS=”-rabbitmq_management listener [{port,15672}]” RABBITMQ_NODENAME=rabbit rabbitmq-server -detached

# RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS=”-rabbitmq_management listener [{port,15673}]” RABBITMQ_NODENAME=rabbit_1 rabbitmq-server -detached

# RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS=”-rabbitmq_management listener [{port,15674}]” RABBITMQ_NODENAME=rabbit_2 rabbitmq-server -detached

3、将rabbit_1加入集群
# rabbitmqctl -n rabbit_1 stop_app
# rabbitmqctl -n rabbit_1 reset
# rabbitmqctl -n rabbit_1 join_cluster rabbit@localhost
# rabbitmqctl -n rabbit_1 start_app

4、将rabbit_2加入集群
# rabbitmqctl -n rabbit_2 stop_app
# rabbitmqctl -n rabbit_2 reset
# rabbitmqctl -n rabbit_2 join_cluster rabbit@localhost
# rabbitmqctl -n rabbit_2 start_app

5、查看集群状态
# rabbitmqctl cluster_status

二、多docker实例部署集群:
1、基于同一个镜像启动三个容器
# docker run -d –hostname hostnode1 –name node1 -p 5671:5672 -p 15671:15672 -e RABBITMQ_ERLANG_COOKIE=’JKUOORCEUMHLWKAVANK’ rabbitmq

# docker run -d –hostname hostnode2 –name node2 -p 5672:5672 -p 15672:15672 –link node1:hostnode1 -e RABBITMQ_ERLANG_COOKIE=’JKUOORCEUMHLWKAVANK’ rabbitmq

# docker run -d –hostname hostnode3 –name node3 -p 5673:5672 -p 15673:15672 –link node1:hostnode1 –link node2:hostnode2 -e RABBITMQ_ERLANG_COOKIE=’JKUOORCEUMHLWKAVANK’ rabbitmq

2、配置账号密码(每个节点都需操作)
# docker exec -ti node1 /bin/bash
rabbitmqctl add_user name 123456
rabbitmqctl set_permissions -p / name “.” “.” “.*”
rabbitmqctl set_user_tags name administrator
rabbitmqctl delete_user guest

3、集群配置,重置主节点(node1)
# docker exec -ti node1 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

4、将node2加入集群
# docker exec -ti node2 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@hostnode1
rabbitmqctl start_app

5、将node3加入集群
# docker exec -ti node3 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster –ram rabbit@hostnode1
rabbitmqctl start_app

6、启动rabbitmq_delayed插件(每个节点都需操作)
# cd /usr/local/rabbitmq-3.7.7/plugins/
# rabbitmq-plugins enable rabbitmq_delayed_message_exchange

7、集群配完之后node1主节点的账号密码还需重建一下

8、查看集群状态
# rabbitmqctl cluster_status

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注