docker搭建rabbitmq集群

参考了如下博客:

https://www.jianshu.com/p/93cada3d264b

https://blog.csdn.net/czczcz_/article/details/83379812

1.宿主机

CENTOS1 10.11.17.248 centos1:rabbit1

CENTOS2 10.11.17.249 centos2:rabbit2

CENTOS3 10.11.17.252 centos3:rabbit3

2.宿主机持久数据目录和hosts配置(每个节点按下列步骤执行)

创建持久数据目录

mkdir /opt/rabbitmq

host配置(rabbitmq集群需要解析主机名)

cd /opt/rabbitmq

vim hosts#输入

10.11.17.248 centos1rabbit1

10.11.17.249 centos2 rabbit2

10.11.17.252 centos3 rabbit3

3.创建容器

docker run -d --net host --name rabbit1  --log-opt max-size=10m --log-opt max-file=3 -v /opt/rabbitmq:/var/lib/rabbitmq:z  -v /opt/rabbitmq/hosts:/etc/hosts -e RABBITMQ_DEFAULT_USER=user01   -e RABBITMQ_DEFAULT_PASS=password01 -e RABBITMQ_ERLANG_COOKIE='secret cookie here'  rabbitmq:3.6.15-management

参数说明

-d

#容器后台运行

--name rabbit1

#容器名为rabbit1,在宿主机上运行“docker ps”命令时显示的名称

--log-opt max-size=10m

#日志文件单个最大10M

--log-opt max-file=3

#日志文件最多保留3个

-v /data/rabbitmq:/var/lib/rabbitmq:z

#将宿主机目录/data/rabbitmq挂载到容器的/var/lib/rabbitmq目录。z是一个标记,在selinux环境下使用。

-v /opt/rabbitmq/hosts:/etc/hosts

#略

-e RABBITMQ_DEFAULT_USER=admin

#设置rabbitmq默认用户为admin

-e RABBITMQ_DEFAULT_PASS=admin123

#设置rabbitmq默认密码为admin123

-e RABBITMQ_ERLANG_COOKIE='secret cookie here'

#设置rabbitmq的cookie为“secret cookie here”,可以自定义为其他文本,三个容器保持一致即可。

reg.onlymin.com/public/rabbitmq:3.6.15-management

#使用reg.onlymin.com/public/rabbitmq:3.6.15-management这个镜像

4. 设置节点2,加入到集群:

docker exec -it rabbit2 /bin/bash

rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl join_cluster rabbit@centos1

rabbitmqctl start_app

exit

5. 设置节点3,加入到集群:

docker exec -it rabbit3 bash

rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl join_cluster --ram rabbit@centos1

rabbitmqctl start_app

exit

参数“--ram”表示设置为内存节点,忽略次参数默认为磁盘节点。

6. 查询集群状态

rabbitmqctl cluster_status

7.故障节点的处理

docker exec -it rabbit2 /bin/bash

rabbitmqctl stop

#在一个正常的节点上移除有问题的节点

rabbitmqctl  -n rabbit@centos1 forget_cluster_node rabbit@centos2


rabbitmq ERROR: epmd error for host deb:address (cannot connect to host/port)解决方法

2018年10月25日 15:03:50 czczcz_ 阅读数:1219

进入/etc/hosts看下

#  vi /etc/hosts

可以看得出使用debian这个主机名运行rabbitmq的地址不是127.0.0.1,所以rabbaitmq无法启动

docker搭建rabbitmq集群_第1张图片

127.0.0.1 debian

在里面在加一行:127.0.0.1 debian

docker搭建rabbitmq集群_第2张图片

在启动rabbitmq,就ok了。


docker搭建rabbitmq集群_第3张图片
docker搭建rabbitmq集群_第4张图片


docker搭建rabbitmq集群_第5张图片

你可能感兴趣的:(docker搭建rabbitmq集群)