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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> RabbitMQ的集群搭建及WEB界面调试 -> 正文阅读

[大数据]RabbitMQ的集群搭建及WEB界面调试

作者:recommend-item-box type_blog clearfix

目录

概念

配置(本次采取一主二从的方式)

????????① 配置第一个节点

????????②配置第二个节点

? ? ? ? ③配置第三个节点

? ? ? ? ④查看三个节点的运行状态

????????④ 将rabbit-1 作为主节点

????????⑤ 将rabbit-2?作为从节点

? ? ? ? ⑥将rabbit-3 作为从节点

????????⑦验证集群状态

? ? ? ? ? ⑧?Web界面管理

?小结


概念

????????RabbitMQ产品本身是基于Erlang编写的,Erlang语言天生具备分布式特性(通过同步Erlang集群各个节点的magic cookie来实现的)。因此RabbitMQ天然支持Clustering。这使得RabbitMQ本身不需要像ActiveMQ、Kagka那样通过Zookeeper分别来实现HA方案和保存集群的元数据。集群是保证可靠性的一种方式,同时可以通过水平扩展达到增加消息吞吐量能力的目的

????????在实际使用过程中,多采用多机多实例部署方式,为了便于学习,我们在一台机器去搭建一个RabbitMQ集群,本次学习采取单机多实例的方式来进行开展。

配置(本次采取一主二从的方式)

????????① 配置第一个节点

sudo RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit-1 rabbitmq-server start &

????????②配置第二个节点

 sudo RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}]" RABBITMQ_NODENAME=rabbit-2 rabbitmq-server start &

? ? ? ? ③配置第三个节点

sudo RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15674}]" RABBITMQ_NODENAME=rabbit-3 rabbitmq-server start &

? ? ? ? ④查看三个节点的运行状态

ps aux|grep rabbitmq

????????④ 将rabbit-1 作为主节点

# 停止应用
sudo rabbitmqctl -n rabbit-1 stop_app

# 目的是清除节点上的历史数据(如果不清除,无法将节点加入到集群)
sudo rabbitmqctl -n rabbit-1 reset

# 启动应用
sudo rabbitmqctl -n rabbit-1 start_app

????????⑤ 将rabbit-2?作为从节点

# 停止应用
sudo rabbitmqctl -n rabbit-2 stop_app

# 目的是清除节点上的历史数据(如果不清除,无法将节点加入到集群)
sudo rabbitmqctl -n rabbit-2 reset

# 将rabbit2节点加入到rabbit1(主节点) 集群当中【server-node 是主节点的ip】
sudo rabbitmqctl -n rabbit-2 join_cluster rabbit-1@'server-node'

# 启动应用
sudo rabbitmqctl -n rabbit-2 start_app

? ? ? ? ⑥将rabbit-3 作为从节点

# 停止应用
sudo rabbitmqctl -n rabbit-3 stop_app

# 目的是清除节点上的历史数据(如果不清除,无法将节点加入到集群)
sudo rabbitmqctl -n rabbit-3 reset

# 将rabbit2节点加入到rabbit1(主节点) 集群当中【server-node 是主节点的ip】
sudo rabbitmqctl -n rabbit-3 join_cluster rabbit-1@'server-node'

# 启动应用
sudo rabbitmqctl -n rabbit-3 start_app

????????⑦验证集群状态

# 查询集群的状态
sudo rabbitmqctl cluster_status -n rabbit-1

? ? ? ? ? ⑧?Web界面管理

? ? ? ? - 添加用户

-- 1、添加用户
rabbitmqctl -n rabbit-1 add_user Username Password
 
-- 2、设置用户分配操作权限
    - administrator 可以登录控制台、查看所有信息,可以对rabbitmq 进行管理
    - monitoring 监控者 登录控制台、查看所有信息
    - policymaker 策略制定者 登录控制台、指定策略
    - managment 普通管理员 登录控制台
rabbitmqctl -n rabbit-1 set_user_tags Username administrator
 
-- 3、赋予权限
rabbitmqctl -n rabbit-1 set_permissions -p "/" Username ".*" ".*" ".*"
 
-- 3、修改密码
rabbitmqctl -n rabbit-1 change_password Username NewPassword
 
-- 4、查看用户清单
rabbitmqctl -n rabbit-1 list_users

? ? ? ? - 登录web界面

?小结

? ? ? ? 如果采用多机部署方式,需读取其中一个节点的cookie,并复制到其他节点(节点之间通过cookie确定相互是否可通信)。cookie 存放在/var/lib/rabbitmq/.erlang.cookie
????????例如:主机名分别为 rabbit-1、rabbit-2
????????1、逐个启动各节点
????????2、配置各节点的hosts文件( vim /etc/hosts )
? ? ? ? ? ?ip1:rabbit-1
? ? ? ? ? ?ip2:rabbit-2
? ? ? ? 其它步骤雷同单机部署方式

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:04:28  更:2022-01-12 00:07:02 
 
开发: 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/24 13:54:38-

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