rabbit多机多节点集群

参考:http://blog.csdn.net/woogeyu/article/details/51119101

参考:http://88250.b3log.org/rabbitmq-clustering-ha

1、集群节点间需能互相访问,故每个集群节点的hosts文件应包含集群内所有节点的信息以保证互相解析

vim /etc/hosts

192.168.153.129 rabbit_1
192.168.153.130 rabbit_2
配置完后,最好ping一下,看主机名是否正常映射到ip
ping rabbit_1

强烈注意:
这里有个地方必须注意,配置/etc/hosts时,ip对应的名称必须用主机名,如果主机名没修改过的情况下(即localhost),这里主机名可以随便起。
如果
192.168.153.129、192.168.153.130的主机名都是localhost,配置/etc/hosts时,可以随便起一个名字
如果
192.168.153.129、192.168.153.130有修改过名字,则必须配置主机的真实名字,因为rabbitmq是根据“rabbit+@+主机名”来指定节点的

不然加载到集群的时候,会一直提示错误找不到rabbit的节点,我也被这个地方坑了很久,必须配置真实的主机名
192.168.153.129 iZwz9ex8d3yw1jbalz1ke3Z
192.168.153.130 iZwz9htw4t0ld5s5s4axodZ


2、把主服务器的.erlang.cookie文件发到各节点主机
.erlang.cookie文件本人是在/root/.erlang,有些是在/var/lib/rabbitmq/.erlang.cookie

scp /root/.erlang.cookie root@192.168.153.130:/root/

配置完后,rabbitmq要重新运行

3、启动rabbit_1的rabbitmq和rabbit_2的rabbitmq服务
./rabbitmq-server -detached

关闭192.168.153.130上的node节点运行,再加入集群,再启动节点
[root@iZwz9htw4t0ld5s5s4axodZ]#rabbitmqctl stop_app
[root@iZwz9htw4t0ld5s5s4axodZ]#rabbitmqctl join_cluster rabbit@iZwz9ex8d3yw1jbalz1ke3Z
[root@iZwz9htw4t0ld5s5s4axodZ]#rabbitmqctl start_app
执行添加到集群语句时候报错rabbitmqctl join_cluster rabbit@iZwz9ex8d3yw1jbalz1ke3Z
DIAGNOSTICS
===========

attempted to contact: [rabbit@iZwz9ex8d3yw1jbalz1ke3Z]

rabbit@iZwz9ex8d3yw1jbalz1ke3Z:
  * unable to connect to epmd (port 4369) on iZwz9ex8d3yw1jbalz1ke3Z: address (cannot connect to host/port)


current node details:
- node name: 'rabbitmq-cli-17@iZwz9htw4t0ld5s5s4axodZ'
- home dir: /root
- cookie hash: FrHMpK2m1Qg/vnHo6wkAAg==
提示上面错误,则去129打开4369端口

DIAGNOSTICS
===========

attempted to contact: [rabbit@iZwz9ex8d3yw1jbalz1ke3Z]

rabbit@iZwz9ex8d3yw1jbalz1ke3Z:
  * connected to epmd (port 4369) on iZwz9ex8d3yw1jbalz1ke3Z
  * epmd reports node 'rabbit' running on port 25672
  * can't establish TCP connection, reason: ehostunreach (host is unreachable)
  * suggestion: blocked by firewall?

current node details:
- node name: 'rabbitmq-cli-87@iZwz9htw4t0ld5s5s4axodZ'
- home dir: /root
- cookie hash: FrHMpK2m1Qg/vnHo6wkAAg==
提示上面错误,则去129打开25672端口

再尝试添加到集群

[root@iZwz9htw4t0ld5s5s4axodZ sbin]# rabbitmqctl join_cluster rabbit@iZwz9ex8d3yw1jbalz1ke3Z
Clustering node rabbit@iZwz9htw4t0ld5s5s4axodZ with rabbit@iZwz9ex8d3yw1jbalz1ke3Z
添加成功,启动本节点

[root@iZwz9htw4t0ld5s5s4axodZ]#rabbitmqctl start_app


这时应该集群成功,查看主节点集群状态
[root@iZwz9ex8d3yw1jbalz1ke3Z sbin]# ./rabbitmqctl cluster_status
Cluster status of node rabbit@iZwz9ex8d3yw1jbalz1ke3Z
[{nodes,[{disc,[rabbit@iZwz9ex8d3yw1jbalz1ke3Z,
                rabbit@iZwz9htw4t0ld5s5s4axodZ]}]},
 {running_nodes,[rabbit@iZwz9htw4t0ld5s5s4axodZ,
                 rabbit@iZwz9ex8d3yw1jbalz1ke3Z]},
 {cluster_name,<<"rabbit@iZwz9ex8d3yw1jbalz1ke3Z">>},
 {partitions,[]},
 {alarms,[{rabbit@iZwz9htw4t0ld5s5s4axodZ,[nodedown]},
          {rabbit@iZwz9ex8d3yw1jbalz1ke3Z,[]}]}]


4、设置镜像队列策略
在任意一个节点上执行:
 # rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}' 
将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态保持一直

5、设置均衡,这个本人暂时没设置,但是已经可以集群使用rabbitmq,如果想设置集群,可以参考上面的网址




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值