论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
大数据
›
数据仓库与分析
›
使用 Docker 摆设 RabbitMQ 的具体指南
使用 Docker 摆设 RabbitMQ 的具体指南
宁睿
金牌会员
|
2025-2-21 23:50:40
|
显示全部楼层
|
阅读模式
楼主
主题
942
|
帖子
942
|
积分
2836
使用 Docker 摆设 RabbitMQ 的具体指南
在现代应用程序开发中,消息队列体系是不可或缺的一部分。RabbitMQ 是一个盛行的开源消息代理软件,它实现了高级消息队列协议(AMQP)。本文将具体介绍如何使用 Docker 摆设 RabbitMQ,并提供一些配置和管理的技巧。
1. 前期预备
在开始之前,请确保您的体系上已经安装了 Docker。假如尚未安装,可以参考 Docker 官方文档 或我写的前面一篇文章 CentOS 上安装 Docker 的具体指南 进行安装。
2. 克制并移除现有的 RabbitMQ 容器
假如您的体系上已经运行了 RabbitMQ 容器,可以使用以下命令克制并移除它:
docker stop rabbitmq
docker rm rabbitmq
复制代码
3. 启动 RabbitMQ 容器
使用以下命令启动一个新的 RabbitMQ 容器:
# 拉取docker镜像
docker pull rabbitmq:management
mkdir -p /usr/local/docker/rabbitmq
docker run -id --name=rabbitmq -v /usr/local/docker/rabbitmq:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:management
复制代码
在这条命令中,我们做了以下配置:
-id:以交互模式启动容器并在背景运行。
--name=rabbitmq:为容器指定一个名称。
-v /usr/local/docker/rabbitmq:/var/lib/rabbitmq:将主机目次挂载到容器内的 /var/lib/rabbitmq,用于长期化数据。
-p 15672:15672:映射 RabbitMQ 管理页面端口。
-p 5672:5672:映射 RabbitMQ 消息接收端口。
-e RABBITMQ_DEFAULT_USER=admin:设置默认用户名。
-e RABBITMQ_DEFAULT_PASS=admin:设置默认暗码。
4. 查看容器日志
启动容器后,可以使用以下命令查看容器日志,确保 RabbitMQ 正常启动:
docker logs -f rabbitmq
复制代码
5. 访问 RabbitMQ 管理界面
在欣赏器中访问 http://<你的服务器地址>:15672,使用之前设置的用户名和暗码(admin 和 admin)登录,即可访问 RabbitMQ 的管理界面。
6. 配置说明
15672端口
:RabbitMQ 的管理页面端口。
5672端口
:RabbitMQ 的消息接收端口。
RABBITMQ_DEFAULT_USER 情况变量
:指定 RabbitMQ 的用户名。
RABBITMQ_DEFAULT_PASS 情况变量
:指定 RabbitMQ 的暗码。
7. 情况变量配置
RabbitMQ 容器通过指定情况变量的方式进行配置,这比修改配置文件便捷得多。以下是一些常用的情况变量:
RABBITMQ_DEFAULT_USER:默认用户名。
RABBITMQ_DEFAULT_PASS:默认暗码。
RABBITMQ_ERLANG_COOKIE:Erlang 集群 cookie。
RABBITMQ_NODENAME:节点名称。
更多情况变量的具体信息可以参考 RabbitMQ 官方文档。
8. 长期化数据
为了确保 RabbitMQ 的数据在容器重启或删除后不会丢失,我们使用了 Docker 的卷(volume)功能。通过 -v /usr/local/docker/rabbitmq:/var/lib/rabbitmq 参数,我们将主机目次挂载到容器内的 /var/lib/rabbitmq,实现数据长期化。
9. 备份与规复
为了防止数据丢失,定期备份 RabbitMQ 的数据黑白常重要的。可以使用以下命令备份数据:
docker exec rabbitmq tar czf /backup/rabbitmq_backup.tar.gz /var/lib/rabbitmq
复制代码
要规复数据,可以使用以下命令:
docker exec rabbitmq tar xzf /backup/rabbitmq_backup.tar.gz -C /
复制代码
10. 集群配置
RabbitMQ 支持集群配置,可以通过以下步骤实现:
启动多个 RabbitMQ 容器,并确保它们可以相互通信。
在每个节点上设置雷同的 RABBITMQ_ERLANG_COOKIE。
使用 rabbitmqctl 命令将节点加入集群:
docker exec rabbitmq1 rabbitmqctl stop_app
docker exec rabbitmq1 rabbitmqctl join_cluster rabbit@rabbitmq2
docker exec rabbitmq1 rabbitmqctl start_app
11. 性能优化
为了进步 RabbitMQ 的性能,可以考虑以下优化步伐:
调整 vm_memory_high_watermark 参数,控制内存使用。
使用 rabbitmq_management 插件监控性能。
调整 disk_free_limit 参数,确保磁盘空间充足。
12. 常见问题排查
在使用 RabbitMQ 时,可能会遇到一些常见问题。以下是一些排查方法:
无法访问管理界面
:检查 15672 端口是否开放,确保防火墙未克制该端口。
消息堆积
:检查消耗者是否正常工作,确保消息被实时处置惩罚。
内存不敷
:调整 vm_memory_high_watermark 参数,增长内存限制。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
宁睿
金牌会员
这个人很懒什么都没写!
楼主热帖
java前置学习
简单的用Python对手机号进行加密 ...
【RocketMQ】消息的存储
net core 3.1使用identityServer登录时 ...
k8s v-1.20版本部署详细过程[实测可用 ...
Unity 将是驱动 C# 增长的引擎吗 ? ...
【PostgreSQL】PostgreSQL重建与主库不 ...
离线数仓建设,企业大数据的业务驱动与 ...
iOS Widget
基于单片机的压力测控仿真设计(#0024) ...
标签云
挺好的
服务器
浏览过的版块
程序人生
快速回复
返回顶部
返回列表