由於業務需求,須要使用到rabbitmq,使用的話確定是集羣模式了,從網上找了不少攻略,好像不少都不可行,最後參考官網的安裝步驟,加上本身的時間順利完成。 建立好集羣讓運維作HA就可使用了。web
1、安裝rabbitmq命令(推薦yum安裝)cookie
#安裝erlangapp
yun install erlang運維
安裝epel工具
#su -c 'rpm -Uvh http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm'spa
get http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpmserver
sudo rpm -ivh epel-release-6-8.noarch.rpmrabbitmq
#導入key:get
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6it
#安裝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
2、集羣操做命令(新機器加入到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
成功界面以下:
3、注意事項,以A加入B爲例,假設B是在運行的生產機器
一、操做集羣必定要保證cookie的內容和權限一致,cookie路徑 /var/lib/rabbitmq/.erlang.cookie,A和B必需要一致
二、要先中止A上全部節點 rabbitmqctl stop_app
三、加入集羣命令 rabbitmqctl join_cluster --ram rabbit@B
四、啓動節點 rabbitmqctl start_app
五、不須要在集羣B上執行加入A的命令