linux(deepin15.4)下部署集群RabbitMQ消息队列(二)

第二天

一、确保集群中每台节点机器上的hosts文件应包含集群内所有节点的信息以保证互相解析。

1、先停止运行rabbitmq服务
命令:rabbitmqctl stop

2、加入集群中所有节点机器的ip信息。
格式为:ip 域名
例:112.74.86.122 iZ949a2mrc1Z
命令:vim /etc/hosts
这里写图片描述

3、逐个启动节点
命令:service rabbitmq-server start

4、查看各节点运行状态
命令:rabbitmqctl cluster_status
这里写图片描述
! 这里我已经加入了集群了

5、设置节点机器的Cookie一致

   必须先暂停节点运行
   a、在var/lib/rabbitmq/.erlang.cookie下
   b、读取其中一个节点的cookie,并复制到其他节点(节点间通过cookie确定相互是否可通信)
   c、读取iZ949a2mrc1Z节点的
   命令:cat /var/lib/rabbitmq/.erlang.cookie
   d、复制到iZbp10c911n2z47alw0t4bZ节点:
   命令:echo 读出的值 > /var/lib/rabbitmq/.erlang.cookie
   启动节点
   service rabbitmq-server start

5、建集群
RabbitMQ集群中所有节点都是平等的,没有绝对的主次之分,每一个节点的配置信息都会在集群中进行同步。只有节点类型区别,节点类型有disk型和RAM型。分别对应磁盘和内存,disk节点可以持久化消息安全性较高、RAM节点存取速度快,但是不能持久化。一个集群中至少要有一个disk类型的节点,以便在所有节点宕机重启时将持久化队列中的消息进行持久化。

这里把iZbp10c911n2z47alw0t4bZ加入到iZ949a2mrc1Z中
把iZ949a2mrc1Z当做disc,iZbp10c911n2z47alw0t4bZ当做ram

在iZbp10c911n2z47alw0t4bZ节点机器上执行
a、rabbitmqctl stop_app
b、rabbitmqctl join_cluster --ram rabbit@iZ949a2mrc1Z
c、rabbitmqctl start_app

6、排错
建集群过程中碰到如下错误:
rabbitmqctl join_cluster –ram rabbit@iZ949a2mrc1Z
Clustering node rabbit@iZbp10c911n2z47alw0t4bZ with rabbit@iZ949a2mrc1Z …
Error: unable to connect to nodes [rabbit@iZ949a2mrc1Z]: nodedown
DIAGNOSTICS
===========
attempted to contact: [rabbit@iZ949a2mrc1Z]
rabbit@iZ949a2mrc1Z:
* unable to connect to epmd (port 4369) on iZ949a2mrc1Z: nxdomain (non-existing domain)
current node details:
- node name: ‘rabbitmqctl-8666@iZbp10c911n2z47alw0t4bZ’
- home dir: /var/lib/rabbitmq
- cookie hash: 50YO3zK+HJHos0tab1vHjg==
解决之道:
集群节点间需能互相访问,故每个集群节点的hosts文件应包含集群内所有节点的信息以保证互相解析
这里写图片描述
之后重启各节点中的rabbitmq

7、完成
这里写图片描述

查看节点集群
命令:rabbitmqcat cluster_status
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值