Open penglongli opened 6 years ago
参考文章:
使用 Docker 来跑 RabbitMQ 非常简单,五分钟即可起来一个集群,下边是环境相关:
然后我们分别修改三台机器的 hosts,增加下映射:
10.104.179.111 host-1 10.104.145.201 host-2 10.104.92.38 host-3
简单的验证办法,在机器上ping host-3 能 PING 通即为正常
ping host-3
然后,记得安装 Docker,国内的 Docker 源推荐阿里云的。本文基于的 Docker 版本如下:
root@host-1:~# docker --version Docker version 17.12.0-ce, build c97c6d6
顺便把安装 Docker 写了一下:
https://github.com/penglongli/blog/issues/80
第一步,在三台机器上分别启起来一个 RabbitMQ 容器:
# HOST-1 docker run -it -d --net=host --name rabbit-node-1 \ -e RABBITMQ_NODENAME=rabbit@host-1 \ -e RABBITMQ_ERLANG_COOKIE=sw2w5e9wer7wer738234sdfsd8234234 \ -e RABBITMQ_HIPE_COMPILE=1 \ rabbitmq:3.6-management # HOST-2 docker run -it -d --net=host --name rabbit-node-2 \ -e RABBITMQ_NODENAME=rabbit@host-2 \ -e RABBITMQ_ERLANG_COOKIE=sw2w5e9wer7wer738234sdfsd8234234 \ -e RABBITMQ_HIPE_COMPILE=1 \ rabbitmq:3.6-management # HOST-3 docker run -it -d --net=host --name rabbit-node-3 \ -e RABBITMQ_NODENAME=rabbit@host-3 \ -e RABBITMQ_ERLANG_COOKIE=sw2w5e9wer7wer738234sdfsd8234234 \ -e RABBITMQ_HIPE_COMPILE=1 \ rabbitmq:3.6-management
注意一下,上边的几个参数:
第二步,在容器内调用 rabbitmqctl 创建集群
为 Host-2 执行如下操作:
注意: 开启三台机器上的防火墙端口:4369/5672/15672/25672
root@host-2:/home/ubuntu# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9192f1f7d8ce rabbitmq:3.6-management "docker-entrypoint.s…" 2 minutes ago Up 2 minutes rabbit-node-2 root@host-2:/home/ubuntu# docker exec -it 9192f1f7d8ce bash root@host-2:/# rabbitmqctl stop_app Stopping rabbit application on node 'rabbit@host-2' root@host-2:/# rabbitmqctl reset Resetting node 'rabbit@host-2' root@host-2:/# rabbitmqctl join_cluster rabbit@host-1 Clustering node 'rabbit@host-2' with 'rabbit@host-1' root@host-2:/# rabbitmqctl start_app Starting node 'rabbit@host-2' # 查看集群状态,可以发现集群中目前有两个节点 root@host-2:/# rabbitmqctl cluster_status Cluster status of node 'rabbit@host-2' [{nodes,[{disc,['rabbit@host-1','rabbit@host-2']}]}, {running_nodes,['rabbit@host-1','rabbit@host-2']}, {cluster_name,<<"rabbit@localhost">>}, {partitions,[]}, {alarms,[{'rabbit@host-1',[]},{'rabbit@host-2',[]}]}]
为 Host-3 执行如下操作
root@host-3:/home/ubuntu# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b7defa87cba2 rabbitmq:3.6-management "docker-entrypoint.s…" 8 minutes ago Up 8 minutes rabbit-node-3 root@host-3:/home/ubuntu# docker exec -it b7defa87cba2 bash root@host-3:/# rabbitmqctl stop_app Stopping rabbit application on node 'rabbit@host-3' root@host-3:/# rabbitmqctl reset Resetting node 'rabbit@host-3' root@host-3:/# rabbitmqctl join_cluster rabbit@host-1 Clustering node 'rabbit@host-3' with 'rabbit@host-1' root@host-3:/# rabbitmqctl start_app Starting node 'rabbit@host-3' # 查看集群状态,可以发现目前集群中有三个节点 root@host-3:/# rabbitmqctl cluster_status Cluster status of node 'rabbit@host-3' [{nodes,[{disc,['rabbit@host-1','rabbit@host-2','rabbit@host-3']}]}, {running_nodes,['rabbit@host-1','rabbit@host-2','rabbit@host-3']}, {cluster_name,<<"rabbit@localhost">>}, {partitions,[]}, {alarms,[{'rabbit@host-1',[]},{'rabbit@host-2',[]},{'rabbit@host-3',[]}]}]
综上,集群我们就搭建好了
参考文章:
概念
环境
使用 Docker 来跑 RabbitMQ 非常简单,五分钟即可起来一个集群,下边是环境相关:
然后我们分别修改三台机器的 hosts,增加下映射:
简单的验证办法,在机器上
ping host-3
能 PING 通即为正常然后,记得安装 Docker,国内的 Docker 源推荐阿里云的。本文基于的 Docker 版本如下:
顺便把安装 Docker 写了一下:
https://github.com/penglongli/blog/issues/80
步骤
第一步,在三台机器上分别启起来一个 RabbitMQ 容器:
注意一下,上边的几个参数:
第二步,在容器内调用 rabbitmqctl 创建集群
为 Host-2 执行如下操作:
注意: 开启三台机器上的防火墙端口:4369/5672/15672/25672
为 Host-3 执行如下操作
综上,集群我们就搭建好了
其它