RabbitMq安装(单点与集群)rabbitMq以及状态查询
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 集群进入某个节点查看指令: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 <br><br> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | 集群安装 --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 <br><br>再加一个集群点:<br><br>docker run -d \<br> --hostname rabbit4 \<br>--name myrabbit4 \<br>-p 5675 : 5672 \<br>-e RABBITMQ_DEFAULT_USER=admin \<br> -e RABBITMQ_DEFAULT_PASS=admin \ --link myrabbit1:rabbit1 \<br>--link myrabbit2:rabbit2 \<br>--link myrabbit3:rabbit3 \<br>-e RABBITMQ_ERLANG_COOKIE= 'rabbitcookie' \<br>rabbitmq:managementdocker exec -it myrabbit4 bash<br>rabbitmqctl stop_app<br>rabbitmqctl reset<br>rabbitmqctl join_cluster rabbit @rabbit1 <br>rabbitmqctl start_app<br>exit剔除 4 节点,进入rabbit4的镜像 执行如下操作<br>rabbitmqctl stop_app<br>rabbitmqctl reset<br><br><br><br>搭建rabitmq附加参数 -v /data/rabbitmq01:/var/lib/rabbitmq:z \<br><br>如下样例:引用:https: //blog.csdn.net/qq_40378034/article/details/89788708 这偏文章的见解<br>docker run -d --hostname rabbitmq1 \ --add-host= "rabbitmq1" : 192.168 . 3.92 \ 所在机器的IP --add-host= "rabbitmq2" : 192.168 . 3.93 \ <code class = "shell language-shell" >所在机器的IP</code> --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 |
--log-opt max-size=10m 日志文件单个最大10M
--log-opt max-file=3 日志文件最多保留3个
给节点添加用户其权限:
1 2 3 | 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 |
1 | 引用:https: //blog.csdn.net/qq_40378034/article/details/89788708 这偏文章的见解<br><br>RabbitMQ中的每一个节点,不管是单一节点系统或者集群中的一部分,要么是内存节点,要么是磁盘节点。<br>内存节点将所有的队列、交换机、绑定关系、用户、权限和vhost的元数据定义都存储在内存中,而磁盘节点则将这些信息存储到磁盘中。<br>单节点的集群中必然只有磁盘类型的节点,否则当重启RabbitMQ之后,所有关于系统的配置信息都会丢失。不过在集群中,可以选择配置部分节点为内存节点,这样可以获得更高的性能<br><br>RabbitMQ只要求在集群中至少有一个磁盘节点,所有其他节点可以是内存节点。当节点加入或者离开集群时,它们必须将变更通知到至少一个磁盘节点。<br>如果只有一个磁盘节点,而且刚好是它崩溃了,那么集群可以继续发送或者接收消息,但是不能执行创建队列、交换机、绑定关系、用户,以及更改权限、添加或者删除集群节点的操作了。<br>也就是说,如果集群中唯一的磁盘节点崩溃,集群仍然可以保持运行,但是直到将该节点恢复到集群前,无法更改任何东西。所以在建立集群的时候应该保证有两个或者多个磁盘节点的存在<br><br>在内存节点重启后,它们会连接到预先配置的磁盘节点,下载当前集群元数据的副本。当在集群中添加内存节点时,确保告知其所有的磁盘节点。<br>只要内存节点可以找到至少一个磁盘节点,那么它就能在重启后重新加入集群中为了确保集群信息的可靠性,建议全部使用磁盘节点<br> |
多机器部署多应用:rabbitcookie 里面的值要保持一致
本文来自博客园,作者:余生请多指教ANT,转载请注明原文链接:https://www.cnblogs.com/wangbiaohistory/p/14586028.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步