RabbitMQ的集群搭建及WEB界面调试

RabbitMQ的集群搭建及WEB界面调试,第1张

RabbitMQ的集群搭建及WEB界面调试

目录

概念

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

        ① 配置第一个节点

        ②配置第二个节点

        ③配置第三个节点

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

        ④ 将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
        其它步骤雷同单机部署方式

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5701865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存