ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

容器部署rabbitmq 镜像节点的简单办法

2021-09-09 22:01:29  阅读:163  来源: 互联网

标签:ZJ01 ZJ02 protocol RABBITMQ rabbitmqctl rabbitmq 镜像 节点


安装docker


  • 本次借鉴同事的安装文件, install.sh 离线方式部署docker , 不适用rpm包 避免无网络情况下依赖关系复杂.

导入rabbitmq的镜像文件.


  • 导入rabbitmq:manangement 的容器镜像. 避免每次离线安装rabbitmq 缺少依赖关系. 比较繁琐.

启动容器镜像


  • 修改或者使用已有的机器名称.
修改 /etc/hosts
将两台机器可以设置为 互相ping机器名可以通信. 
  • 创建目录,持久化rabbitmq的消息队列文件目录
mkdir -p /data/rabbitmq/data
  • 启动镜像, 在互为容器镜像的两个虚拟机上面都启动镜像, 注意我这边为了简单, 设置为机器名一样的情况
  • 使用 --net=host 暴露本地端口. 设置密码, 设置容器名字,以及node名字,这里设置与机器名保持一致.
docker run -d --name=ZJ01 --net=host -e RABBITMQ_NODENAME=ZJ01 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' -v /data/rabbitmq/data:/var/lib/rabbitmq  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=Test1127 -h ZJ01 rabbitmq:management

docker run -d --name=ZJ02 --net=host -e RABBITMQ_NODENAME=ZJ02 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' -v /data/rabbitmq/data:/var/lib/rabbitmq  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=Test1127 -h ZJ02 rabbitmq:management
  • 进入 ZJ02 节点执行 join cluster的操作
docker exec -it ZJ02 bash
rabbitmqctl stop_app
# 加入集群
rabbitmqctl join_cluster ZJ01@ZJ01
# 重启服务
rabbitmqctl start_app
# 设置为镜像模式
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
# 查看集群状态
rabbitmqctl cluster_status

一般查看集群状态效果为:

root@ZJ02:/# rabbitmqctl cluster_status
Cluster status of node ZJ02@ZJ02 ...
Basics

Cluster name: ZJ01@ZJ01

Disk Nodes

ZJ01@ZJ01
ZJ02@ZJ02

Running Nodes

ZJ01@ZJ01
ZJ02@ZJ02

Versions

ZJ01@ZJ01: RabbitMQ 3.8.3 on Erlang 22.2.8
ZJ02@ZJ02: RabbitMQ 3.8.3 on Erlang 22.2.8

Alarms

(none)

Network Partitions

(none)

Listeners

Node: ZJ01@ZJ01, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: ZJ01@ZJ01, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: ZJ01@ZJ01, interface: [::], port: 15672, protocol: http, purpose: HTTP API
Node: ZJ02@ZJ02, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: ZJ02@ZJ02, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: ZJ02@ZJ02, interface: [::], port: 15672, protocol: http, purpose: HTTP API

Feature flags

Flag: drop_unroutable_metric, state: enabled
Flag: empty_basic_get_metric, state: enabled
Flag: implicit_default_bindings, state: enabled
Flag: quorum_queue, state: enabled
Flag: virtual_host_metadata, state: enabled

web控制台验证


  • 使用任意一台的15672 端口就可以进行查看
    image

标签:ZJ01,ZJ02,protocol,RABBITMQ,rabbitmqctl,rabbitmq,镜像,节点
来源: https://www.cnblogs.com/jinanxiaolaohu/p/15248962.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有