千家信息网

怎么用docker部署rabbitmq集群

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇内容主要讲解"怎么用docker部署rabbitmq集群",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用docker部署rabbitmq集群"吧!
千家信息网最后更新 2025年12月01日怎么用docker部署rabbitmq集群

本篇内容主要讲解"怎么用docker部署rabbitmq集群",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用docker部署rabbitmq集群"吧!

拉取rabbitmq management镜像

docker pull rabbitmq:3.7-rc-management

若不使用rabbitmq的management功能,可以拉取镜像:rabbitmq:3.7-rc

创建网络

创建rabbitmq私有网络

# docker network create rabbitmqnet# docker network lsnetwork id     name        driver       scope65b44ea8847c    rabbitmqnet     bridge       local...

创建节点

通过docker命令创建三个rabbitmq nodes;

注意这里使用相同的 rabbitmq_erlang_cookie 值

# docker run -d \--name=rabbitmq1 \-p 5672:5672 \-p 15672:15672 \-e rabbitmq_nodename=rabbitmq1 \-e rabbitmq_erlang_cookie='yzsdhwmfsmkembdhsggz' \-h rabbitmq1 \--net=rabbitmqnet \rabbitmq:3.7-rc-management# docker run -d \--name=rabbitmq2 \-p 5673:5672 \-p 15673:15672 \-e rabbitmq_nodename=rabbitmq2 \-e rabbitmq_erlang_cookie='yzsdhwmfsmkembdhsggz' \-h rabbitmq2 \--net=rabbitmqnet \rabbitmq:3.7-rc-management# docker run -d \--name=rabbitmq3 \-p 5674:5672 \-p 15674:15672 \-e rabbitmq_nodename=rabbitmq3 \-e rabbitmq_erlang_cookie='yzsdhwmfsmkembdhsggz' \-h rabbitmq3 \--net=rabbitmqnet \rabbitmq:3.7-rc-management

组建rabbitmq集群

登陆rabbitmq的后两个节点,执行命令加入第一个rabbitmq节点集群

### disk node# docker exec rabbitmq2 bash -c \"rabbitmqctl stop_app && \rabbitmqctl reset && \rabbitmqctl join_cluster rabbitmq1@rabbitmq1 && \rabbitmqctl start_app"### ram node# docker exec rabbitmq3 bash -c \"rabbitmqctl stop_app && \rabbitmqctl reset && \rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1 && \rabbitmqctl start_app"

退出集群

# docker exec rabbitmq3 bash -c \"rabbitmqctl stop_app && \rabbitmqctl reset && \rabbitmqctl start_app"

拉取haproxy镜像

拉取haproxy镜像

# docker pull haproxy

启动haproxy

# cat haproxy-create.sh#! /bin/bashdocker run -d \  --name rabbitmq-haproxy \  -p 1080:80 -p 5677:5677 -p 8001:8001 \  --net=rabbitmqnet \  -v /root/rabbitmq/haproxy-etc:/usr/local/etc/haproxy:ro \  haproxy:latest

haproxy的配置文件如下:

root@node0:~/rabbitmq# cat haproxy-etc/haproxy.cfg# simple configuration for an http proxy listening on port 80 on all# interfaces and forwarding requests to a single backend "servers" with a# single server "server1" listening on 127.0.0.1:8000global  daemon  maxconn 256defaults  mode http  timeout connect 5000ms  timeout client 5000ms  timeout server 5000mslisten rabbitmq_cluster  bind 0.0.0.0:5677  option tcplog  mode tcp  balance leastconn  server rabbit1 rabbitmq1:5672 check inter 2s rise 2 fall 3  server rabbit2 rabbitmq2:5672 check inter 2s rise 2 fall 3  server rabbit3 rabbitmq3:5672 check inter 2s rise 2 fall 3listen http_front  bind 0.0.0.0:80  stats uri /haproxy?statslisten rabbitmq_admin  bind 0.0.0.0:8001  server rabbit1 rabbitmq1:15672  server rabbit2 rabbitmq2:15672  server rabbit3 rabbitmq3:15672

启动haproxy后,可以通过haproxy来访问rabbitmq集群:http://external-ip:8001

获取haproxy的状态:http://external-ip:1080/haproxy?stats

rabbitmq exporter部署

要收集rabbitmq的metrics给prometheus使用的话,可以使用开源的rabbitmq-exporter

参考如下:

拉取镜像

# docker pull kbudde/rabbitmq-exporter

启动rabbitmq实例

复制代码 代码如下:

# docker run -d --name=rabbitmq1 -p 5672:5672 -p 15672:15672 -e rabbitmq_nodename=rabbitmq1 -e rabbitmq_erlang_cookie='yzsdhwmfsmkembdhsggz' -h rabbitmq1 --net=rabbitmqnet -p 9090:9090 rabbitmq:3.7-rc-management

开启9090端口,这个是rabbitmq exporter的默认publish_port

启动rabbitmq exporter实例

# docker run -d --net=container:rabbitmq1 kbudde/rabbitmq-exporter

获取rabbitmq的metrics

# wget http://localhost:9090/metrics

到此,相信大家对"怎么用docker部署rabbitmq集群"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

集群 镜像 节点 代码 内容 命令 实例 网络 学习 实用 更深 相同 三个 两个 兴趣 功能 可以通过 实用性 实际 操作简单 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 citrix修改数据库连接 互联网网络安全问题的分析 工程信息化与计算机网络安全 海康服务器运营管理中心账号 服务器磁盘空间占比 手机爱数服务器地址怎么弄 西安爬虫软件开发 政府移动办公软件开发 按当前时间查询数据库信息 怎么更改阿里云服务器名字 危害网络安全的因素ppt 服务器远程连接失败怎么办 指乐网络技术有限公司 企业联合网络安全 云服务器换新的后IP会变吗 万方专利数据库名称 web服务器安装组件已经损坏 美股上市网络安全涉稳审查 java如何从事网络安全 网络安全黑板报资料内容 租用服务器怎么管理的 当当商品数据接口软件开发 查询数据库某字段包含某 网络工程与网络安全的关系 石狮市网络安全宣传 地下城堡3魂之诗官网服务器 计算机网络技术学什么语音 北京系来科网络技术有限公司 苏州系统软件开发服务费 如果服务器没有签订协议
0