集群进入某个节点查看指令:rabbitmqctl cluster_status

单机版:
docker run -d --name rabbit \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
-p 15672:15672 \
-p 5672:5672 \
-p 25672:25672 \
-p 61613:61613 \
-p 1883:1883 \
rabbitmq:management
集群安装   --hostname  rabbit1指定主机名  本机安装  一机多例也可以不指定    
镜像集群可以把RABBITMQ_ERLANG_COOKIE='rabbitcookie' \都写成一样的,这样就可以保证每个节点一致,从而达成集群 docker run -d \
--hostname rabbit1 \
--name myrabbit1 \
-p 15672:15672 -p 5672:5672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
-e RABBITMQ_ERLANG_COOKIE='rabbitcookie' \
rabbitmq:management docker run -d \
--hostname rabbit2 \
--name myrabbit2 \
-p 5673:5672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
--link myrabbit1:rabbit1 \
-e RABBITMQ_ERLANG_COOKIE='rabbitcookie' \
rabbitmq:management docker run -d \
--hostname rabbit3 \
--name myrabbit3 \
-p 5674:5672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
--link myrabbit1:rabbit1 \
--link myrabbit2:rabbit2 \
-e RABBITMQ_ERLANG_COOKIE='rabbitcookie' \
rabbitmq:management –link:将多个容器链接到一起
erlang Cookie值必须相同,也就是RABBITMQ_ERLANG_COOKIE参数的值必须相同

容器端口5672 被5673 5674 映射

4.绑定节点

rabbitmqctl reset  清空当前节点数据防止绑定失败
rabbitmqctl join_cluster --ram rabbit@rabbit1   都关联rabbit1进行绑定


设置节点1:
docker exec -it myrabbit1 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
exit

设置节点2:参数--ram表示设置为内存节点

docker exec -it myrabbit2 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
exit

设置节点3:参数--ram表示设置为内存节点

docker exec -it myrabbit3 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbitmqctl start_app
exit

查看你集群状态:进入某个实例节点 输入这个指令即可查看集群信息 rabbitmqctl cluster_status



再加一个集群点:

docker run -d  \
--hostname rabbit4 \
--name myrabbit4 \
-p 5675:5672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
--link myrabbit1:rabbit1 \
--link myrabbit2:rabbit2 \
--link myrabbit3:rabbit3 \
-e RABBITMQ_ERLANG_COOKIE='rabbitcookie' \
rabbitmq:management

docker exec -it myrabbit4 bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbit1
rabbitmqctl start_app
exit
剔除4节点,进入rabbit4的镜像  执行如下操作
rabbitmqctl stop_app
rabbitmqctl reset

搭建rabitmq附加参数

--log-opt max-size=10m 日志文件单个最大10M

--log-opt max-file=3 日志文件最多保留3个

 -v /data/rabbitmq01:/var/lib/rabbitmq:z \

如下样例:引用:https://blog.csdn.net/qq_40378034/article/details/89788708 这偏文章的见解
docker run -d --hostname rabbitmq1   \
--add-host="rabbitmq1":192.168.3.92 \ 所在机器的IP
--add-host="rabbitmq2":192.168.3.93 \ 所在机器的IP
--name rabbit1\
--restart=always\
-p "4369:4369" \
-p "5672:5672" \
-p "15672:15672" \
-p "25672:25672" \
-v /data/rabbitmq01:/var/lib/rabbitmq:z \
-e RABBITMQ_DEFAULT_USER=jffwuser \
-e RABBITMQ_DEFAULT_PASS=jffw123 \
-e RABBITMQ_ERLANG_COOKIE='jffwcookie' \
erikopa/rabbitmq-management-x-delayed-message
 

给节点添加用户其权限:

rabbitmqctl -n rabbit1 add_user wb admin
rabbitmqctl -n rabbit1 set_user_tags wb administrator
rabbitmqctl -n rabbit1 set_permissions -p / wb ".*" “.*” ".*"

查看用户列表:
rabbitmqctl list_users
引用:https://blog.csdn.net/qq_40378034/article/details/89788708 这偏文章的见解

RabbitMQ中的每一个节点,不管是单一节点系统或者集群中的一部分,要么是内存节点,要么是磁盘节点。
内存节点将所有的队列、交换机、绑定关系、用户、权限和vhost的元数据定义都存储在内存中,而磁盘节点则将这些信息存储到磁盘中。
单节点的集群中必然只有磁盘类型的节点,否则当重启RabbitMQ之后,所有关于系统的配置信息都会丢失。不过在集群中,可以选择配置部分节点为内存节点,这样可以获得更高的性能

RabbitMQ只要求在集群中至少有一个磁盘节点,所有其他节点可以是内存节点。当节点加入或者离开集群时,它们必须将变更通知到至少一个磁盘节点。
如果只有一个磁盘节点,而且刚好是它崩溃了,那么集群可以继续发送或者接收消息,但是不能执行创建队列、交换机、绑定关系、用户,以及更改权限、添加或者删除集群节点的操作了。
也就是说,如果集群中唯一的磁盘节点崩溃,集群仍然可以保持运行,但是直到将该节点恢复到集群前,无法更改任何东西。所以在建立集群的时候应该保证有两个或者多个磁盘节点的存在

在内存节点重启后,它们会连接到预先配置的磁盘节点,下载当前集群元数据的副本。当在集群中添加内存节点时,确保告知其所有的磁盘节点。
只要内存节点可以找到至少一个磁盘节点,那么它就能在重启后重新加入集群中为了确保集群信息的可靠性,建议全部使用磁盘节点

多机器部署多应用:rabbitcookie 里面的值要保持一致

RabbitMq安装(单点与集群)rabbitMq以及状态查询的更多相关文章

  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. RabbitMQ从零到集群高可用(.NetCore5.0) -高可用集群构建落地

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

  5. RabbitMQ的高可用集群部署

    RabbitMQ的高可用集群部署 标签(空格分隔): 消息队列 部署 1. RabbitMQ部署的三种模式 1.1 单一模式 单机情况下不做集群, 仅仅运行一个RabbitMQ. # docker-c ...

  6. RabbitMQ从零到集群高可用(.NetCore5.0) - 死信队列,延时队列

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

  7. 从VMware虚拟机安装到hadoop集群环境配置详细说明(第一期)

    http://blog.csdn.net/whaoxysh/article/details/17755555 虚拟机安装 我安装的虚拟机版本是VMware Workstation 8.04,自己电脑上 ...

  8. 安装spark ha集群

    安装spark ha集群 1.默认安装好hadoop+zookeeper 2.安装scala 1.解压安装包 tar zxvf scala-2.11.7.tgz 2.配置环境变量 vim /etc/p ...

  9. HDP2.4安装(五):集群及组件安装

    HDP(Hortonworks Data Platform)是hortworks推出的100%开源的hadoop发行版本,以YARN 作为其架构中心,包含pig.hive.phoniex.hbase. ...

随机推荐

  1. NOI2021游记

    NOI2021游记 前言 写于 2021.7.28,成绩榜刚出后几个小时.总分 345 拿到银牌 183 名. 我的高中 OI 生活在这里画上句号.结局对我而言虽然不够完美,但是无论怎样都是我人生道路 ...

  2. TheadLocal与synchronized

    深入比较TheadLocal模式与synchronized关键字 ThreadLocal模式synchronized关键字都用于处理多线程并发访问变量的问题,只是二者处理问题的角度和思路不同. 1)T ...

  3. (opencv08)cv.resize()调整图像大小

    (opencv08)cv.resize()调整图像大小 img = cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=N ...

  4. header.mapper 用法

    const header= [xxxx,xxxx] 基本用法是 const obj = header.map( item=>{ obj= item+'123'; return  obj }) c ...

  5. vi正则表达式

    搜索命令:/正则表达式 替换命令::s/正则表达式/替换字符串/选项 :%s/str1/str2/g   该命令中:表示进入命令行模式,%表示对该文件所有行有效,s表示查找并替换,正则表达式str1表 ...

  6. 论文笔记:(2021CVPR)PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds

    目录 摘要 1.引言 2.相关工作 将点云映射到常规二维或三维栅格(体素) 基于MLPs的点表示学习 基于点卷积的点表示学习 动态卷积和条件卷积 3.方法 3.1 回顾 3.2 动态内核组装 Weig ...

  7. 记一次针对excel导出的优化

    最近发现我们系统导出excel文件时由于是导出百万级数据导出,速度过慢并且内存占用多,故进行了下面的一次优化. 我们使用apache的poi进行excel文件操作 主要耗时: 1.从数据库得到需要导出 ...

  8. 那些 Unix 命令替代品们「GitHub 热点速览 v.21.32」

    作者:HelloGitHub-小鱼干 好用的 Unix 命令替代工具能让你事半功倍,例如,bat 便是个带着高亮特性的加强版 cat,就像你用了 oh my zsh 之后便会感受到它的强大.同样好用的 ...

  9. ssrf解题记录

    ssrf解题记录 最近工作需要做一些Web的代码审计,而我Web方面还比较薄弱,决定通过一些ctf的题目打打审计基础,练练思维,在博客上准备开几个专题专门记录刷题的过程. pwn题最近做的也很少,也要 ...

  10. 普通类中获取spring容器中的javabean对象

    spring提供了一系列的*Aware 接口,用于获取相应的对象,进行一系列的对象设置操作,此处实现ApplicationContextAware来获取ApplicationContext. 其他Aw ...