1. 程式人生 > >rabbitmq叢集模式安裝

rabbitmq叢集模式安裝

環境 centos 7.4

172.16.91.217

172.16.91.218

 

安裝包版本

http://www.erlang.org/download/otp_src_18.3.tar.gz

otp_src_18.3.tar.gz

http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz

rabbitmq-server-generic-unix-3.6.1.tar

 

兩臺機器 同時執行

 

安裝 erlang

環境

把 安裝 包 上傳 到 /usr/local/src/

cd    /usr/local/src/

tar -xzvf otp_src_18.3.tar.gz

mv  otp_src_18.3  /usr/local/

cd  /usr/local/otp_src_18.3/

./configure --prefix=/usr/local/erlang

make && make install

 

配置 erlang 環境變數

vim   /etc/profile  //在底部新增以下內容

#set erlang environment

    ERL_HOME=/usr/local/erlang

    PATH=$ERL_HOME/bin:$PATH

export ERL_HOME PATH

source /etc/profile  //生效

 

在控制 臺輸入 erl 命令, 如果 進入 erlang 的shell 則證明安裝成功

 

安裝rabbitmq

cd  /usr/local/src/

xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.6.1.tar

mv rabbitmq_server-3.6.1/ rabbitmq

mv  rabbitmq  /usr/local/

 

配置 rabbitmq 環境變數

vim  /etc/profile

     

#set rabbitmq environment

 export PATH=$PATH:/usr/local/rabbitmq/sbin

source /etc/profile

 

啟動服務:

rabbitmq-server -detached //啟動rabbitmq,-detached代表後臺守護程序方式啟動。

檢視 狀態

rabbitmqctl  status

 

 

rabbitmq 叢集操作

這裡是 使用 rabbitmqctl  配置 rabbitmq 叢集

操作 是 先 確保 ,所有 rabbitmq 都關閉

 

1  cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

 

172.16.91.217  217-centos

172.16.91.218  218-centos  

 

首先 要保證 兩個 域名 能夠互通

 

2  編輯 rabbitmq 的 cookie檔案,以確保 各個 節點 的cookie 檔案使用

的是用一個值

vim $HOME/.erlang.cookie

把主節點 的  cookie 值 複製到從節點

 

3  然後啟動 所有 rabbitmq

rabbitmq-server -detached

 

4  然後 在 從 節點上 執行 以下命令,逐個的加入主節點,成為一個叢集

rabbitmqctl  stop_app

rabbitmqctl  reset

rabbitmqctl  join_cluster [email protected]

rabbitmqctl  start_app

 

 

5  然後 檢視 叢集 資訊

[[email protected] bin]# rabbitmqctl cluster_status

Cluster status of node '[email protected]' ...

[{nodes,[{disc,['[email protected]','[email protected]']}]},

 {running_nodes,['[email protected]']},

 {cluster_name,<<"[email protected]">>},

 {partitions,[]},

 {alarms,[{'[email protected]',[]}]}]

 

 

錯誤排查:

當執行 rabbitmqctl  join_cluster [email protected]

出現  Autentication failed異常

 

  因為 我 把 217-centos 錯誤

寫成 217_centos,造成兩個主機互不相通