最近想自己开发一个小系统,而我的电脑里还没有安装任何的开发相关的配套软件和环境,所以想着方便以后开发的原则,就想从头到尾搭建一个RabbitMq cluster集群环境。一开始觉得这个搭建应该不难,网上有很多现成的资料而且有AI大模型的加持,所以理论上很快能搞定,可结果是我花了大概半天时间才算基本完成环境搭建,因此记录一下整个过程很有必要。

一、涉及软件及环境

序号
软件名称
版本号
1
Windows 11 家庭中文版
26100.4652
2
Docker Desktop
4.44.2 (202017)

二、Docker Desktop下载&安装

这个就省略了,请参考《Docker Desktop里搭建Mysql 9.4主从复制的保姆级教程》相关内容。

三、RabbitMq 4.1.3下载&安装

1、在Docker Desktop终端里输入“docker pull rabbitmq:latest”,下载最新的redis镜像,如下:
由于我已经下载了,所以这里没有出现下载进度界面,如果想跟我一样的话,请将latest替换成“4.1.3”
2、创建专用网络
docker network create rabbitmq-cluster
3、RabbitMQ节点配置
  • 启动第一个节点(主节点)
docker run -d --hostname rabbit1 --name rabbit1 -p 5672:5672 -p 15672:15672 -e RABBITMQ_ERLANG_COOKIE='cluster-cookie' -e RABBITMQ_NODENAME=rabbit@rabbit1 --network rabbitmq-cluster rabbitmq:latest
  • 启动第二个节点
docker run -d --hostname rabbit2 --name rabbit2 -p 5673:5672 -p 15673:15672 -e RABBITMQ_ERLANG_COOKIE='cluster-cookie' -e RABBITMQ_NODENAME=rabbit@rabbit2 --network rabbitmq-cluster rabbitmq:latest
  • 启动第三个节点
docker run -d --hostname rabbit3 --name rabbit3 -p 5674:5672 -p 15674:15672 -e RABBITMQ_ERLANG_COOKIE='cluster-cookie' -e RABBITMQ_NODENAME=rabbit@rabbit3 --network rabbitmq-cluster rabbitmq:latest
  • 在docker desktop里能看到3个rabbitmq节点正常启动,如下:
4、集群配置步骤
  • 方法一、在docker desktop终端里输入命令,进入rabbit2容器:
docker exec -it rabbit2 bash
  • 方法二、直接在docker desktop的Containers里点击rabbit2容器实例的操作,然后在弹出的菜单里点击“Open in terminal”,进入rabbit2的容器终端里,如下
  • 停止RabbitMQ应用:
rabbitmqctl stop_app
  • 加入集群:
rabbitmqctl join_cluster rabbit@rabbit1
  • 启动应用:
rabbitmqctl start_app
  • 运行终端界面如下:
  • ‌重复上述步骤配置rabbit3节点,具体执行命令的界面如下:
5、验证集群状态
  • 先进入rabbit1的终端命令界面,如下:
docker exec -it rabbit1 bash
  • 在终端里直接输入验证命令,如下:
rabbitmqctl cluster_status
  • 运行命令后,返回如下信息:
6、管理界面访问
  • 在浏览器里输入如下访问地址及账户密码‌
主节点管理界面:http://localhost:15672
默认用户名/密码:guest/guest
结果浏览器里输入后,访问不了。经过一番搜索之后找到如下解决方案:
进入rabbit1容器实例的终端,然后输入如下命令:
rabbitmq-plugins enable rabbitmq_management
界面如下:
这个时候在浏览器里输入访问地址出现登录界面,如下:
输入账户密码之后,界面如下:
至此,整个rabbitmq集群就搭建完成了。

四、总结

整体搭建过程相对mysql主从复制以及redis 集群搭建来说,要简单一些。也许是有了前面的搭建经验,效率提升不少。遇到问题时候只要借助AI大模型搜索,基本上都能得到解决。这里主要的问题就是搭建之后在浏览器里输入访问地址访问不了,不过这个问题解决起来还算比较容易。

Docker Desktop里搭建RabbitMq 4.1.3集群的保姆级教程的更多相关文章

  1. 搭建 RabbitMQ Server 高可用集群

    阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 ...

  2. 搭建 RabbitMQ Server 高可用集群【转】

    阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 ...

  3. (转)CentOs7.3 搭建 RabbitMQ 3.6 Cluster 集群服务与使用

    RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..NET.Java.JMS.C.PHP.ActionScript.XMPP.STO ...

  4. Docker中自动化搭建Hadoop2.6完全分布式集群

    这一节将在<Dockerfile完成Hadoop2.6的伪分布式搭建>的基础上搭建一个完全分布式的Hadoop集群. 1. 搭建集群中需要用到的文件 [root@centos-docker ...

  5. 【ELK】【docker】【elasticsearch】1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安装ik分词器

    系列文章:[建议从第二章开始] [ELK][docker][elasticsearch]1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安 ...

  6. RabbitMQ从零到集群高可用(.NetCore5.0) -高可用集群构建落地

    系列文章: RabbitMQ从零到集群高可用(.NetCore5.0) - RabbitMQ简介和六种工作模式详解 RabbitMQ从零到集群高可用(.NetCore5.0) - 死信队列,延时队列 ...

  7. cAdvisor0.24.1+InfluxDB0.13+Grafana4.0.2搭建Docker1.12.3 Swarm集群性能监控平台

    目录 [TOC] 1.基本概念 ​ 既然是对Docker的容器进行监控,我们就不自己单独搭建cAdvisor.InfluxDB.Grarana了,本文中这三个实例,主要以Docker容器方式运行. 本 ...

  8. keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群

    keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群 内网路由都用mac地址 一个mac地址绑定多个ip一个网卡只能一个mac地址,而且mac地址无法改,但 ...

  9. Linux平台上搭建apache+tomcat负载均衡集群

    传统的Java Web项目是通过tomcat来运行和发布的.但在实际的企业应用环境中,采用单一的tomcat来维持项目的运行是不现实的.tomcat 处理能力低,效率低,承受并发小(1000左右).当 ...

  10. 使用Kubeadm搭建Kubernetes(1.12.2)集群

    Kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,在2018年将进入GA状态,说明离生产环境中使用的距离越来 ...

随机推荐

  1. MongoDB可视化工具

    简单说明 这里使用mongodb的过程中,可以通过mongo shell或者mongo的可视化工具进行连接. mongo shell连接 # 使用root用户登录mongo mongodb@p8lnp ...

  2. Python之multiprocessing.Pool(创建多个子进程)

    当需要创建的子进程数量不多的时候可以直接利用multiprocessing中的Process动态生成多个进程.但是,如果是成百上千个任务,手动创建显然不合适,此时就可以用multiprocessing ...

  3. go 进阶训练营 微服务可用性(下)笔记

    降级: 减少工作量,丢弃不重要的请求. 确定具体采用哪个指标作为流量评估和优雅降级的决定性指标: 如 CPU.延迟.队列长度.线程数量.错误等 当服务进入降级时,需要执行什么动作? 流量抛弃或者优雅降 ...

  4. 芋道源码RCE复现

    先创建一个流程模型 再创建一个流程表单,添加一个输入框 将模型与此表单进行关联 发起流程 输入的命令被执行

  5. Altair官方文档——HyperMesh的使用与帮助

    1.1.3 启动 HyperMesh (1) On PC • 从起始菜单,选择 All Programs >Altair HyperWorks (version) > HyperMesh ...

  6. Altair官方文档——HyperMesh模型管理

    1.4 模型管理 在HyperMesh中创建一个有效的求解输入文件时,模型管理功能是非常必要的.本节将介绍基本的模型管理方法,如单元和载荷归类.集合组装.重命名.删除.排序以及重新编号等. 本节将学习 ...

  7. C# Post 使用(multipart/form-data)请求数据

    public static string HttpPostMultipartFormData(string url, NameValueCollection kVDatas, string metho ...

  8. c#基础(视频)

    可空类型 类型后面+?就可以声明可空类型了,可空类型和普通的类型是两种类型,赋值时需要进行类型转换 例如 double? num=null: 面向对象 三大特征 封装 打包,便于管理 继承 拿来主义, ...

  9. linux chmod 修改移动硬盘无效

    转载 http://blog.csdn.net/lanyang123456/article/details/47683351 linux 下挂载windows ntfs 硬盘,采用开机挂载,修改/et ...

  10. Intelligent standby list cleaner(清理备用内存工具)--九五小庞

    Intelligent standby list cleaner是一款待机列表清理软件,这款工具可以帮助用户监视计算机的内存使用情况,等计算机的内存使用到一定大小后,软件会自动清理内存列表,通过这种方 ...