千家信息网

怎么用docker部署rabbitmq集群

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本篇内容主要讲解"怎么用docker部署rabbitmq集群",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用docker部署rabbitmq集群"吧!
千家信息网最后更新 2025年01月22日怎么用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安全错误 数据库的锁怎样保障安全 金山软件开发工程师年终奖 武汉千年网络技术公司 数据库安全方面的产品厂商 数据库审计销售许可证 思科认证软件开发工程师 渣打银行软件开发待遇 江苏先进网络技术创造辉煌 常用文献数据库有哪些 苏州吴江警方维护网络安全稳定 机器学习软件开发框架交流 我的世界服务器种子文件 软件开发合作平台 沈阳网络技术有限公司 网络安全公司怎么样 网络安全菏泽企业 服务器资源管理统计 杭州工业软件开发服务费 数据库监控新报价图片 软件开发的风险保障怎么写 sql查询数据库字段大小 网络安全是否属于国家的一部分 bvd数据库是哪个公司的 唐山摩卡网络技术有限公司 数据库接口分层 可道云的数据库 中国重要会议论文全文的数据库是 无线网网络安全密钥怎么找 公共信息网络安全监察分局 上海赋晖网络技术有限公司 2018国际网络安全展会
0