rabbitmq集群安装实践

jopen 9年前

因为业务需求,需要使用到rabbitmq,使用的话肯定是集群模式了,从网上找了很多攻略,好像很多都不可行,最后参考官网的安装步骤,加上自己的时间顺利完成。 创建好集群让运维做HA就可以使用了。

一、安装rabbitmq命令(推荐yum安装)

#安装erlang

yun install erlang

安装epel

#su -c 'rpm -Uvh http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm'

get http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm

sudo rpm -ivh epel-release-6-8.noarch.rpm

#导入key:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

#安装yum仓库

yum install yum-priorities

 

#rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

rpm --import rabbitmq-signing-key-public.asc

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.3/rabbitmq-server-3.1.3-1.noarch.rpm

yum install rabbitmq-server-3.1.3-1.noarch.rpm

#安装扩展应用(web管理工具)

rabbitmq-plugins enable rabbitmq_management 

#启动mq服务

service rabbitmq-server start



二、集群操作命令(新机器加入到rabbitmq2为例


#把cookie改为一致,路径 /var/lib/rabbitmq/.erlang.cookie

#可以采用copy或者手动修改的方式

#更改cookie文件权限和权限组

chmod 400 /var/lib/rabbitmq/.erlang.cookie

chown rabbitmq /var/lib/rabbitmq/.erlang.cookie

chgrp  rabbitmq /var/lib/rabbitmq/.erlang.cookie

#停止操作机器节点

rabbitmqctl stop_app

#加入集群,如果需要持久化,不用加--ram,直接采用disk节点就好

rabbitmqctl join_cluster --ram  rabbit@rabbitmq-2

#启动节点

rabbitmqctl start_app 

成功界面如下:

           rabbitmq集群安装实践 - lnucel的个人空间

三、注意事项,以A加入B为例,假设B是在运行的生产机器

1、操作集群一定要保证cookie的内容和权限一致,cookie路径 /var/lib/rabbitmq/.erlang.cookie,A和B必须要一致

2、要先停止A上所有节点  rabbitmqctl stop_app

3、加入集群命令 rabbitmqctl join_cluster --ram  rabbit@B

4、启动节点 rabbitmqctl start_app

5、不需要在集群B上执行加入A的命令


来自: http://my.oschina.net/lnucel/blog/591379