­

RabbitMQ鏡像集群搭建

RabbitMQ 官網 //www.rabbitmq.com/

小編使用的系統環境是CentOS7.4

系統 IP hostname
CentOS7.4 1.1.1.1 hostname01
CentOS7.4 1.1.1.2 hostname02

一、下載

格外強調,注意RabbitMQ與erlang的版本是否匹配

查看匹配網址 //www.rabbitmq.com/which-erlang.html

  • erlang22.3

  • rabbitmq3.8.3

二、安裝

1,安裝erlang

解壓erlang

tar -zxvf otp_src_22.3.tar.gz

準備erlang編譯工具

yum install make gcc gcc-c++ build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel

創建文件夾

mkdir -p /usr/local/erlang

編譯

cd otp_src_22.3
./configure  --prefix=/usr/local/erlang --without-javac
make && make install

環境變數配置

vi /etc/profile

配置

export ERLANG_HOME=/usr/local/erlang
export PATH=${ERLANG_HOME}/bin:${PATH}

刷新配置

source /etc/profile

創建軟連

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

測試

erl

2,安裝 socat

yum install -y socat

3,安裝rabbitmq

rpm -ivh --nodeps rabbitmq-server-3.8.3-1.el7.noarch.rpm

4,修改配置

vi /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/ebin/rabbit.app

修改 loopback_users 中的 [<<“guest”>>], 只保留 []

heartbeat 為 5

啟用web管理頁面

rabbitmq-plugins enable rabbitmq_management

5,啟動rabbitmq

啟動

rabbitmq-server start &

啟動內容檢查

rabbitmq-plugins list

三、開始集群

RabbitMQ事基於erlang的,所以部署RabbitMQ集群,首先要處理erlang的cookie。

配置從機的cookie

首先在主節點查詢cookie,一般cookie會存在兩個位置

第一個位置在

ll -la /root

第二個位置在

ll -la /var/lib/rabbitmq/

為了避免錯誤,將上面兩個cookie分別複製到從機上的對應位置。

注意點:複製完成後,將文件許可權改為400

chmod 400 .erlang.cookie

配置hosts

分別在主機、從機上配置hosts

查詢hostname

cat /etc/hostname

配置hosts

vi /etc/hosts

增加如下配置

# 主ip + 主hostname
1.1.1.1 hostname01
# 從ip + 從hostname 
1.1.1.2 hostname02

配置集群

這一步僅僅是在從機上操作,主機啟動RabbitMQ即可。

# 後台啟動從機
./rabbitmq-server -deched

./rabbitmqctl stop_app
# 這裡的hostname01是指主機的hostname
./rabbitmqctl join_cluster rabbit@hostname01

./rabbitmqctl start_app

至此,RabbitMQ集群配置已完成。

四、驗證

在圖形化介面即可看到集群結果