docker rabbitmq_Docker部署RabbitMQ集群
安装rabbitmq
下载Docker镜像
docker pull rabbitmq:3.7.12-management
安装RabbitMQ
mkdir rabbitmq
# node1 172.17.11.22
cd rabbitmq
vim hosts
#输入
172.17.11.22 rabbit1 rabbit1
172.17.11.23 rabbit2 rabbit2sudo docker run -d --name rabbit1 -h rabbit1--log-opt max-size=10m --log-opt max-file=3 -v /root/rabbitmq:/var/lib/rabbitmq:z -v /root/rabbitmq/hosts:/etc/hosts -e RABBITMQ_DEFAULT_USER=rabbitmq -e RABBITMQ_DEFAULT_PASS=password -e RABBITMQ_ERLANG_COOKIE='cookie' -p 5656:5672 -p 5657:15672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 5671:5671 rabbitmq:3.7.12-management# node2 172.17.11.23
cd rabbitmq
vim hosts
#输入
172.17.11.22 rabbit1 rabbit1
172.17.11.23 rabbit2 rabbit2
sudo docker run -d --name rabbit2 -h rabbit2--log-opt max-size=10m --log-opt max-file=3 -v /root/rabbitmq:/var/lib/rabbitmq:z -v /root/rabbitmq/hosts:/etc/hosts -e RABBITMQ_DEFAULT_USER=rabbitmq -e RABBITMQ_DEFAULT_PASS=password -e RABBITMQ_ERLANG_COOKIE='cookie' -p 5656:5672 -p 5657:15672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 5671:5671 rabbitmq:3.7.12-management
加入集群
上述完成2个RabbitMQ节点的启动,后面是要将两个节点做成一个集群,现在讲rabbitmq1作为master,然后rabbitmq2加入到rabbitmq1中
# node2 处理
sudo docker exec -it rabbit2 /bin/bash
# 加入集群
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rabbit1
rabbitmqctl start_app
使用删除方式处理时出现过以下问题
rabbit@localhost:* connected to epmd (port 4369) on localhost* epmd reports node 'rabbit' running on port 25672* TCP connection succeeded but Erlang distribution failed* Hostname mismatch: node "rabbit@warp10" believes its host is different. Please ensure that hostnames resolve the same way locally and on "rabbit@warp10"current node details:- node name: 'rabbitmq-cli-30@warp10'- home dir: /Users/antares- cookie hash: Sg08R8+G85EYHZ3H/9NUfg==
官网中有问题显示,但是具体情况很多,经过后续的分析,是因为在docker run时hostname的问题,所以在run时指定容器的hostname。也就是通过-h来指定hostname,根本问题就是HOSTNAME
解决方法,在Docker创建时,指定了/etc/hosts文件,但是启动docker时,应用里的hostname与hosts中指定的hostname不相同1. echo $HOSTNAME 查看下当前的hostname 然后export HOSTNAME=*** 修改为/etc/hosts希望的名字
2. /etc/hostname中科院设置相应的数据使用docker部署rabbitmq集群时,因为hostname不匹配,导致的问题,建议在run时加入参数-h来指定参数,保证hostname的正确性
配置nginx,来保证集群的可用性
配置文件如下:
server
注意:stream要和http一个层级
如有兴趣扫码加入QQ群,进行更多的交流。
参考资料
Docker分布式部署RabbitMQ集群
docker rabbitmq_Docker部署RabbitMQ集群相关推荐
- 使用Docker部署RabbitMQ集群
使用Docker部署RabbitMQ集群 概述 本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘. Windows10 ...
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...
- Docker 容器部署 Consul 集群
Docker 容器部署 Consul 集群 Consul 介绍 Consul 提供了分布式系统的服务发现和配置的解决方案.基于go语言实现.并且在git上开放了源码consul-git.consul还 ...
- K8S 部署rabbitmq集群
K8S 部署rabbitmq集群 版本介绍 名称 版本 k8s 1.18 rabbitmq 3.8 命名空间:rabbitmq 我这里已经建立 configmap 配置文件 [root@k8s-mas ...
- Kafka:Docker Compose部署Kafka集群
创建目录用于存放Docker Compose部署Kafka集群的yaml文件: mkdir -p /root/composefile/kafka/ 写入该yaml文件: vim /root/compo ...
- 7条命令在docker中部署Mesos集群
7条命令在docker中部署Mesos集群 所有使用的Docker容器构建文件是有也.您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器.下面的命令会自动下载所需的预建的容器为您服务 ...
- ZooKeeper :Docker Compose部署ZooKeeper集群
用于Docker Compose部署ZooKeeper集群的yaml文件: version: '3' networks:zookeeper-networks:driver: bridgeservice ...
- 部署RabbitMQ集群
RabbitMQ集群实操手册 实战案例--部署RabbitMQ集群 案例目标 了解RabbitMQ服务的安装与配置. 了解RabbitMQ集群的配置架构. 了解RabbitMQ集群的使用. 案例分析 ...
- docker 部署rabbitmq,k8s部署rabbitmq集群,跟踪和监控rabbitmq
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 rabbit原理和架构可以参考https://blog.csdn.net/luanpeng825485697/article/details/8208 ...
最新文章
- python自学网站 知乎-如何自学Python拿到25K的薪资?非常感谢这11个站点!
- 【Android 逆向】类加载器 ClassLoader ( 启动类加载器 | 扩展类加载器 | 应用类加载器 | 类加载的双亲委托机制 )
- oracle中pdb,Oracle12c数据库创建pdb的3种方法
- P2055 [ZJOI2009]假期的宿舍(二分图匹配)
- 2020-07-28
- php acl rbac,建站常用的用户权限管理模型ACL和RBAC的区别
- 从代码里提取的测试需求
- 转ORA-28002: the password will expire within 7 days 解决方法
- Opera Unite如何架设自己的网站
- 大学生静态HTML鲜花网页设计作品 DIV布局网上鲜花介绍网页模板代码 DW花店网站制作成品 web网页制作与实现
- 蓝牙室内定位技术,蓝牙定位信标应用场景及分析
- Asp.net MVC下载文件的四种方法以及下载ZIP文件的一种方法
- asp.net 面试题目
- Win7 C盘瘦身 微信文件夹太大WeChat Files
- 好书推荐-——《态度》——吴军老师著
- 小米路由器3 挂载U盘 实现磁盘扩展 并获取写入权限 (openwrt折腾之一)
- Kalman实际应用总结
- 洛谷P1425 小鱼的游泳时间(简单点!别想太多!!!)
- CSS垂直居中的三种方式
- 时钟周期、机器周期、总线周期、指令周期的关系