IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Docker搭建rabbitmq集群 -> 正文阅读

[大数据]Docker搭建rabbitmq集群

想在本地搭建一个rabbitmq集群玩一下,翻了N片文章,总算搭建成功,把搭建过程梳理一下,遇到问题的同学可以参考一下:

一、首先,需要安装并启动docker,这个不做赘述;

二、拉取rabbitmq镜像,我是用的是3.7版本:

docker pull rabbitmq:3.7-management

三、创建network,这里我没用之前的--link,改用了network

docker network create rabbitmq-net

四、启动docker容器:

docker run -d --hostname rabbitmq01 --name rabbitmqCluster01 -v [用户目录]/rabbitmqcluster/rabbitmq01:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --network rabbitmq-net  rabbitmq:3.7-management

docker run -d --hostname rabbitmq02 --name rabbitmqCluster02 -v [用户目录]/rabbitmqcluster/rabbitmq02:/var/lib/rabbitmq -p 15673:15672 -p 5673:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --network rabbitmq-net  rabbitmq:3.7-management

docker run -d --hostname rabbitmq03 --name rabbitmqCluster03 -v [用户目录]/rabbitmqcluster/rabbitmq03:/var/lib/rabbitmq -p 15674:15672 -p 5674:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --network rabbitmq-net  rabbitmq:3.7-management

这里需要说明几点:

1.?RABBITMQ_ERLANG_COOKIE的值要保持一致,不然后续node无法加入集群;

2.最好加入RABBITMQ_DEFAULT_USER、RABBITMQ_DEFAULT_PASS参数,后续可以直接登录web管理后台;

五、节点加入集群

节点rabbitmqCluster01

#docker exec -it rabbitmqCluster01 bash
#rabbitmqctl stop_app
#rabbitmqctl reset
#rabbitmqctl start_app
#exit

节点rabbitmqCluster02

#docker exec -it rabbitmqCluster02 bash
#rabbitmqctl stop_app
#rabbitmqctl reset
#rabbitmqctl join_cluster --ram rabbit@rabbitmq01
#rabbitmqctl start_app
#exit

这里说明几点:

1. join_cluster加入的集群使用的是节点rabbitmqCluster01的hostname: rabbitmq01

2.如果join_cluster报错,检查一下erlang cookie是否设置一直,路径在/var/lib/rabbitmq/.erlang.cookie;

节点rabbitmqCluster03

#docker exec -it rabbitmqCluster03 bash
#rabbitmqctl stop_app
#rabbitmqctl reset
#rabbitmqctl join_cluster --ram rabbit@rabbitmq01
#rabbitmqctl start_app
#exit

到目前,如果前面流程都顺利的话,集群基本上搭建完成,用命令确认一下:

root@rabbitmq01:/# rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq01 ...
[{nodes,[{disc,[rabbit@rabbitmq01]},
         {ram,[rabbit@rabbitmq03,rabbit@rabbitmq02]}]},
 {running_nodes,[rabbit@rabbitmq03,rabbit@rabbitmq02,rabbit@rabbitmq01]},
 {cluster_name,<<"rabbit@rabbitmq01">>},
 {partitions,[]},
 {alarms,[{rabbit@rabbitmq03,[]},
          {rabbit@rabbitmq02,[]},
          {rabbit@rabbitmq01,[]}]}]

nodes包含了所有的节点。

六、最后一步就是web管理后台,需要开启插件:

rabbitmq-plugins enable rabbitmq_management

检查一下是否开启成功:

root@rabbitmq01:/# rabbitmq-plugins list
Listing plugins with pattern ".*" ...
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status: * = running on rabbit@rabbitmq01
 |/
[  ] rabbitmq_amqp1_0                  3.7.28
[  ] rabbitmq_auth_backend_cache       3.7.28
[  ] rabbitmq_auth_backend_http        3.7.28
[  ] rabbitmq_auth_backend_ldap        3.7.28
[  ] rabbitmq_auth_mechanism_ssl       3.7.28
[  ] rabbitmq_consistent_hash_exchange 3.7.28
[  ] rabbitmq_event_exchange           3.7.28
[  ] rabbitmq_federation               3.7.28
[  ] rabbitmq_federation_management    3.7.28
[  ] rabbitmq_jms_topic_exchange       3.7.28
[E*] rabbitmq_management               3.7.28
[e*] rabbitmq_management_agent         3.7.28
[  ] rabbitmq_mqtt                     3.7.28
[  ] rabbitmq_peer_discovery_aws       3.7.28
[  ] rabbitmq_peer_discovery_common    3.7.28
[  ] rabbitmq_peer_discovery_consul    3.7.28
[  ] rabbitmq_peer_discovery_etcd      3.7.28
[  ] rabbitmq_peer_discovery_k8s       3.7.28
[  ] rabbitmq_random_exchange          3.7.28
[  ] rabbitmq_recent_history_exchange  3.7.28
[  ] rabbitmq_sharding                 3.7.28
[  ] rabbitmq_shovel                   3.7.28
[  ] rabbitmq_shovel_management        3.7.28
[  ] rabbitmq_stomp                    3.7.28
[  ] rabbitmq_top                      3.7.28
[  ] rabbitmq_tracing                  3.7.28
[  ] rabbitmq_trust_store              3.7.28
[e*] rabbitmq_web_dispatch             3.7.28
[  ] rabbitmq_web_mqtt                 3.7.28
[  ] rabbitmq_web_mqtt_examples        3.7.28
[  ] rabbitmq_web_stomp                3.7.28
[  ] rabbitmq_web_stomp_examples       3.7.28

查看一下端口号:

?  rabbitmqcluster docker port rabbitmqCluster01
5672/tcp -> 0.0.0.0:5672
5672/tcp -> :::5672
15672/tcp -> 0.0.0.0:15672
15672/tcp -> :::15672

通过http://127.0.0.1:15672/即可访问管理后台

参考文章:

https://www.cnblogs.com/alan6/p/11691229.html

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:37:49  更:2021-08-24 15:39:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 12:48:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码