1. 程式人生 > >搭建配置rabbitmq叢集過程

搭建配置rabbitmq叢集過程

由於公司很早就搭建了mq的環境,測試環境單節點單例項,最近頻繁出問題,包括落盤檔案過多導致磁碟爆滿等,所以決定將中介軟體伺服器做成叢集模式,為保證遷移後順暢使用,都是使用的跟之前一樣的老版本。



安裝erlang環境

tar -xvf otp_src_17.3.tar.gz

mkdir /usr/local/erlang

make && make install

ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl


ERLANG_HOME=/usr/local/erlang

PATH=$ERLANG_HOME/bin:$PATH

export ERLANG_HOME

export PATH



安裝編譯環境

yum install perl

yum install ncurses-devel

yum -y install gcc gcc-c++

yum -y install xmlto

yum install nc zip unzip


安裝rabbitmq

tar -zxvf rabbitmq-server-3.1.5.tar.gz

make

make install TARGET_DIR=/server/rabbitmq SBIN_DIR=/server/rabbitmq/sbin MAN_DIR=/server/rabbitmq/man

mkdir /etc/rabbitmq

./rabbitmq-plugins enable rabbitmq_management



組成叢集

同步三臺的.erlang.cookie,在/root下

分別啟動三臺 /server/rabbitmq/sbin/rabbitmq-server  --detached

加入叢集,hosts檔案中的name要與主機名保持一致

rabbitmqctl stop_app 

rabbitmqctl reset 

rabbitmqctl join_cluster [email protected]

rabbitmqctl start_app 

另外一臺同上,加入public1

檢視狀態

rabbitmqctl cluster_status

至此叢集搭建完成,沒有配置檔案,一切按系統預設的方式運轉,這裡我需要修改落盤檔案的儲存位置到一個大一點的硬碟,新增配置檔案


vim /etc/rabbitmq/rabbitmq-env.conf

內容:

RABBITMQ_MNESIA_BASE=/server/rabbitmq/data/mnesia

RABBITMQ_LOG_BASE=/server/rabbitmq/data/logs


將啟動命令寫到/etc/rc.local後發現開機不能自啟,檢視日誌提示節點拒絕連線,分析啟動命令後發現開機自啟--/home後邊沒有指定cookie檔案的位置,但手動執行會自動指定,不知道是什麼原因,需探究一下Linux開機自啟的原理,暫時忽略掉這個問題,修改rc.local為


su - root -c "source /etc/profile && /server/rabbitmq/sbin/rabbitmq-server --detached &"


至此徹底完成