rabbitmq集群安裝實踐
因為業務需求,需要使用到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
成功界面如下:
三、注意事項,以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的命令