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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倪家李子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值