rabbitmq集群部署

1.每台服务器安装rabbitmq (不会的可以百度 有一堆。)

1.1.配置hosts文件内容 集群之间的ip

vi /etc/hosts
192.168.101.51 mq
192.168.101.52 wc

2.安装完后开始配置集群
每台集群一定要保证 .erlang.cookie 要一样  这个文件在/var/lib/rabbitmq 目录下

```csharp
 cd  /var/lib/rabbitmq
 ls -al
 cat .erlang.cookie

可以通过scp拷贝到每台服务器保证一样 如下

scp /var/lib/rabbitmq/.erlang.cookie root@192.168.101.51:/var/lib/rabbitmq

3.配置完后记得重启下rabbitmq
4.查看rabbitmq集群状态

rabbitmqctl cluster_status

如果出现报错 如果没有请忽略

rabbitmq Error: unable to connect to node XXX@XXX: nodedown

解决办法

# 先把rabbitmq进程杀掉
$ ps -ef | grep rabbitmq | grep -v grep | awk '{print $2}' | xargs kill -9

# 设置hostname(假设主机ip为:192.168.101.52,主机名设为:mm)
$ echo 192.168.101.52 mm > /etc/hosts
$ echo mm > /etc/hostname
$ export HOSTNAME=mm

# 重启rabbitmq
$ rabbitmq-server -detached
# 开启web socket服务
$ rabbitmq-plugins enable rabbitmq_management rabbitmq_web_stomp
# 设置用户并给予管理员权限
$ rabbitmqctl add_user yyj yyj
$ rabbitmqctl set_user_tags yyj administrator
# 设置用户目录
$ rabbitmqctl set_permissions -p / yyj ".*" ".*" ".*"

5.集群部署步骤
分别登录到三台机器,启动rabbitmq服务

rabbitmq-server -detached

2.查看集群状态

[root@mq bin]# rabbitmqctl cluster_status
Cluster status of node rabbit@mq ...
[{nodes,[{disc,[rabbit@mq]}]},
 {running_nodes,[rabbit@mq]},
 {cluster_name,<<"rabbit@mq">>},
 {partitions,[]},
 {alarms,[{rabbit@mq,[]}]}]

从上面的结果{cluster_name,<<“rabbit@mq”>>},可以看出来,集群的名称叫rabbit@mq

3.在root@wc bin主机上做如下操作,将该节点添加到集群(集群名称为上面查询到的名称:rabbit@mq)

#添加集群前需要先把本机的rabbitmq应用停掉
[root@wc bin]# rabbitmqctl stop_app
Stopping node rabbit@wc ...
#添加集群节点
[root@wc bin]# rabbitmqctl join_cluster rabbit@mq
#再启动应用
Clustering node rabbit@wc with rabbit@mq ...
[root@wc bin]# rabbitmqctl start_app
Starting node rabbit@wc ...
#查看集群状态
[root@wc bin]# rabbitmqctl cluster_status
Cluster status of node rabbit@wc ...
[{nodes,[{disc,[rabbit@mq,rabbit@wc]}]},
 {running_nodes,[rabbit@mq,rabbit@wc]},
 {cluster_name,<<"rabbit@mq">>},
 {partitions,[]},
 {alarms,[{rabbit@mq,[]},{rabbit@wc,[]}]}]

说明:

我们这里是把root@wc这 个节点加到root@mq的集群中,需要先把root@wc的应用节点停掉,才能添加集群,否则添加会失败
rabbitmqctl stop是停止应用和集群节点,而rabbitmqctl stop_app是只停应用,不停集群节点,所以千万记住停应用节点是通过命令rabbitmqctl stop_app,而不是rabbitmqctl stop

如果再要添加其他节点重复上面的操作就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值