使用docker 配置rabbitmq集群

0x01 环境


​ OS : centos7.2

​ docker : 1.13.1

​ rabbitmq : 3.6.15-management

​ PC1 hostname : dev01

​ PC2 hostname : dev02

0x02 启动rabbitmq docker镜像


​ PC1,启动主镜像01:

sudo docker run -tid --name rabbitmq01 -p 4369:4369 -p 5672:5672 -p 15672:15672 -p 25672:25672 --net="host" -e RABBITMQ_NODENAME=rabbitmq01 -e RABBITMQ_ERLANG_COOKIE='ABCDEFG' rabbitmq:3.6.15-management

​ PC2,启动从镜像02:

sudo docker run -tid --name rabbitmq02 -p 4369:4369 -p 5672:5672 -p 15672:15672 -p 25672:25672 --net="host" -e RABBITMQ_NODENAME=rabbitmq02 -e RABBITMQ_ERLANG_COOKIE='ABCDEFG' rabbitmq:3.6.15-management

0x03 RabbitMQ节点加入到集群


​ 在PC1,进入主镜像的bash:

[test@dev01 ~]$ sudo docker exec -it rabbitmq01 bash
root@dev01:/# rabbitmqctl stop_app
Stopping rabbit application on node rabbitmq01@dev01

root@dev01:/# rabbitmqctl reset
Resetting node rabbitmq01@dev01

root@dev01:/# rabbitmqctl start_app
Starting node rabbitmq01@dev01

root@dev01:/# rabbitmqctl cluster_status
Cluster status of node rabbitmq01@dev01
[{nodes,[{disc,[rabbitmq01@dev01]}]},
 {running_nodes,[rabbitmq01@dev01]},
 {cluster_name,<<"[email protected]">>},
 {partitions,[]},
 {alarms,[{rabbitmq01@dev01,[]}]}]

​ 在PC2:

[test@dev02 ~]$ sudo docker exec rabbitmq02 bash -c "rabbitmqctl stop_app && rabbitmqctl reset && rabbitmqctl join_cluster --ram rabbitmq01@dev01 && rabbitmqctl start_app" 

Stopping rabbit application on node rabbitmq02@dev02
Resetting node rabbitmq02@dev02
Clustering node rabbitmq02@dev02 with rabbitmq01@dev01
Starting node rabbitmq02@dev02


​ 备注:

​ 1. rabbitmq02是从镜像名字,rabbitmq01@dev01是在主镜像的bash里面执行rabbitmqctl cluster_status命令,显示的running_nodes的名字。

​ 2. rabbitmqctl join_cluster --ram代表的是内存模式,可以换成磁盘模式(默认)。切换模式通过如下方式,进入镜像bash后,使用如下命令:

# rabbitmqctl stop_app 

# rabbitmqctl change_cluster_node_type disc

# rabbitmqctl start_app

0x04 查看集群状态


​ 如下显示,running_nodes有两个节点说明添加成功了。

[test@dev01 ~]$ sudo docker exec rabbitmq01 bash -c "rabbitmqctl cluster_status"

Cluster status of node rabbitmq01@dev01
[{nodes,[{disc,[rabbitmq01@dev01]},{ram,[rabbitmq02@dev02]}]},
 {running_nodes,[rabbitmq02@dev02,rabbitmq01@dev01]},
 {cluster_name,<<"[email protected]">>},
 {partitions,[]},
 {alarms,[{rabbitmq02@dev02,[]},{rabbitmq01@dev01,[]}]}]

参考:
https://www.jianshu.com/p/85543491ab00
https://www.cnblogs.com/vipstone/p/9362388.html
https://note.youdao.com/share/?id=99e09d2c3a320b773767699c760c1219&type=note#/

猜你喜欢

转载自blog.csdn.net/yrx0619/article/details/85327790