rabbitmq docker安装,包括集群

1.docker安装

#安装启动rabbitmq
yum install -y docker
echo 'net.ipv4.ip_forward = 1' >> /usr/lib/sysctl.d/50-default.conf
systemctl restart network
systemctl start docker
systemctl enable docker
docker pull rabbitmq:3.8.3-management
docker tag docker.io/rabbitmq:3.8.3-management rabbitmq
docker run -d --name rabbitmq -p -p 5672:5672 -p 15672:15672  rabbitmq

#加上以下配置可以创建用户和密码
# docker run -d --name rabbitmq -p -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password rabbitmq

2.rabbitmq镜像

rabbitmq 官方镜像地址

版本号说明
x.x.x基础版
x.x.x.management带有web页面的版本

我们下载web版本

docker pull 3.8.3-management
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672  rabbitmq

浏览器访问ip@15672即可访问,默认账户guest,密码guest
在这里插入图片描述

3.rabbitmq集群

首先该集群需要配置的是rabbitmq之间可以相互通信,我们使用docker自带的–link模拟通信,在实际生产环境中可以配置hostname等来进行通信配置,

1. 部署三个rabbitmq,并使它们可以相互通信
docker run -d --hostname rabbit1 --name myrabbit1 -p 15680:15672 -p 5680:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq
#需要用--link进行互联容器之间可以相互通信 RABBITMQ_ERLANG_COOKIE配置 .erlang.cookie文件内容
docker run -d --hostname rabbit2 --name myrabbit2 -p 5673:5672 --link myrabbit1:rabbit1 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq

docker run -d --hostname rabbit3 --name myrabbit3 -p 5674:5672 --link myrabbit1:rabbit1 --link myrabbit2:rabbit2 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq


docker logs myrabbit1 | grep home dir

#得出/var/lib/rabbitmq  所以拼接得   /var/lib/rabbitmq/.erlang.cookie

#拷贝到 /tmp目录
docker cp myrabbit1:/var/lib/rabbitmq/.erlang.cookie /tmp

#拷贝 myrabbit2 myrabbit3
docker cp /tmp/.erlang.cookie myrabbit2:/var/lib/rabbitmq/

docker cp /tmp/.erlang.cookie myrabbit3:/var/lib/rabbitmq/


分别进入 myrabbit1、2、3 配置文件权限

#第一个
docker exec -it myrabbit1 bash

chmod 600 /var/lib/rabbitmq/.erlang.cookie

exit

#第二个
docker exec -it myrabbit2 bash

chmod 600 /var/lib/rabbitmq/.erlang.cookie

exit

#第三个
docker exec -it myrabbit3 bash

chmod 600 /var/lib/rabbitmq/.erlang.cookie

exit

#使用rabbitmqctl join_cluster {cluster_node} [–ram] 将节点加入集群

#将 myrabbit1作为master,第一个

docker exec -it myrabbit1 bash
rabbitmqctl stop_app
#出现如下 结果 Stopping rabbit application on node rabbit@rabbit1 ... rabbit@rabbit1我们后面会用到
rabbitmqctl reset
rabbitmqctl start_app
exit


#第二个,这里用到了  --ram rabbit@rabbit1

docker exec -it myrabbit2 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
exit


#第三个

docker exec -it myrabbit3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
exit

访问 http://ip:15680/ 帐号 guest 密码 guest

overview ----> nodes 会出现三个节点
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值