RabbitMQ 官網 https://www.rabbitmq.com/
小編使用的系統環境是CentOS7.4
系統 | IP | hostname |
---|---|---|
CentOS7.4 | 1.1.1.1 | hostname01 |
CentOS7.4 | 1.1.1.2 | hostname02 |
下載
格外強調,注意RabbitMQ與erlang的版本是否匹配
查看匹配網址 https://www.rabbitmq.com/which-erlang.html
-
erlang22.3
-
rabbitmq3.8.3
安裝
安裝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
安裝 socat
yum install -y socat
安裝rabbitmq
rpm -ivh --nodeps rabbitmq-server-3.8.3-1.el7.noarch.rpm
修改配置
vi /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/ebin/rabbit.app
修改 loopback_users 中的 [<<"guest">>], 只保留 []
heartbeat 為 5
啟用web管理頁面
rabbitmq-plugins enable rabbitmq_management
啟動rabbitmq
啟動
rabbitmq-server start &
啟動內容檢查
rabbitmq-plugins list
開始集群
RabbitMQ事基於erlang的,所以部署RabbitMQ集群,首先要處理erlang的cookie。
重啟主節點
ps -ef | grep rabbitmq
kill -9 ?
cd /usr/lib/rabbitmq/bin
# 后台啟動從機
./rabbitmq-server -deched
這一步會生成/root目錄下的 .erlang.cookie,這個涉及到rabbitmq的啟動方式。
配置從機的cookie
首先在主節點查詢cookie,一般cookie會存在兩個位置
第一個位置在
ll -la /root
第二個位置在
ll -la /var/lib/rabbitmq/
為了避免錯誤,將上面兩個cookie分別復制到從機上的對應位置。
注意點:復制完成后,將文件權限改為600
chmod 600 .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即可。
cd /usr/lib/rabbitmq/bin
# 后台啟動從機
./rabbitmq-server -deched
./rabbitmqctl stop_app
# 這里的hostname01是指主機的hostname
./rabbitmqctl join_cluster rabbit@hostname01
./rabbitmqctl start_app
至此,RabbitMQ集群配置已完成。
驗證
在圖形化界面即可看到集群結果