RabbitMQ官方網站非常詳細,以下只是本人學習過程的整理
一、Windows部署RabbitMQ:https://www.cnblogs.com/yangleiyu/p/15539618.html
二、Linux部署RabbitMQ叢集:https://www.cnblogs.com/yangleiyu/p/15539698.html
三、.Net Core使用RabbitMQ各種模式:會在後續文章介紹
1)、環境準備
ip |
hostname |
10.13.184.83 |
node1 |
10.13.182.239 |
node2 |
1、關閉防火牆或關閉對應埠防火牆
此處省略
2、設定兩臺機器的hostname
A、檢視當前hostname
hostnamectl
B、修改hostname
hostnamectl set-hostname node1
hostnamectl set-hostname node2
C、檢視hostname
2)、安裝Erlang
兩臺機器都需要
1、安裝依賴
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
2、下載安裝包
wget http://erlang.org/download/otp_src_22.0.tar.gz
或手動拷貝安裝包至當前操作目錄
連結:https://pan.baidu.com/s/1OPilvpu98Rr4Bcm-Oq9rTg
提取碼:0716
3、解壓
tar -zxvf otp_src_22.0.tar.gz
4、移動
mv otp_src_22.0 /usr/local/
5、切換目錄
cd /usr/local/otp_src_22.0/
6、建立安裝目錄
mkdir ../erlang
7、配置安裝路徑
./configure --prefix=/usr/local/erlang
8、安裝
make install
9、新增環境變數
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
10、環境變數生效
source /etc/profile
11、測試安裝結果
erl
3)、安裝RabbitMQ
兩臺機器都需要
1、下載安裝包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz
或手動拷貝安裝包至當前操作目錄
連結:https://pan.baidu.com/s/1UcyI2_tjTsjT1yBJ2RzKnQ
提取碼:0716
2、安裝xz
已安裝可忽略此步驟
yum install -y xz
3、第一次解壓
/bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz
4、第二次解壓
tar -xvf rabbitmq-server-generic-unix-3.7.15.tar
5、移動目錄
mv rabbitmq_server-3.7.15/ /usr/local/
6、修改資料夾名
mv /usr/local/rabbitmq_server-3.7.15 rabbitmq
7、配置環境變數
echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile
8、環境變數生效
source /etc/profile
4)、啟動
1、啟動
rabbitmq-server –detached
2、檢視狀態
rabbitmqctl status
3、檢視叢集狀態
rabbitmqctl cluster_status
4、停止
rabbitmqctl stop
5、檢視程式
ps -ef | grep rabbitmq
5)、開啟web外掛
1、開啟外掛
rabbitmq-plugins enable rabbitmq_management
2、瀏覽
IP:15672
預設賬號密碼:guest guest(這個賬號只允許本機訪問)
6)、建立賬號
1、檢視所有使用者
rabbitmqctl list_users
2、新增使用者
rabbitmqctl add_user yly 123456
3、配置許可權
rabbitmqctl set_permissions -p "/" yly ".*" ".*" ".*"
4、檢視使用者許可權
rabbitmqctl list_user_permissions yly
5、設定tag
rabbitmqctl set_user_tags yly administrator
6、刪除使用者
可不刪除,此步驟可忽略
rabbitmqctl delete_user guest
7)、登入
8)、開始配置叢集
1、配置兩臺機器的hosts
vim /etc/hosts修改後使用:wq!儲存並退出
2、停止服務
node1&node2:rabbitmqctl stop
3、設定erlang cookie
這裡將 node1 的該檔案複製到 node2,由於這個檔案許可權是 400為方便傳輸,先修改許可權,所以需要先修改 node2中的該檔案許可權為 777。
叢集各節點的cookie必須保持一致,否則無法通訊。
erlang是通過主機名來連線服務,必須保證各個主機名之間可以ping通。可以通過編輯/etc/hosts來手工新增主機名和IP對應關係。如果主機名ping不通,rabbitmq服務啟動會失敗。
A、設定777許可權
node2:chmod 777 /root/.erlang.cookie
注意.erlang.cookie的目錄,也有可能在/var/lib/rabbitmq/.erlang.cookie
B、拷貝cookie檔案
將node1節點上的cookie拷貝至node2
node1:scp /root/.erlang.cookie node2:/root/
拷貝過程中會輸yes和密碼
C、最後將許可權和所屬使用者/組修改回來
node2:chmod 400 /root/.erlang.cookie
node2:chown root /root/.erlang.cookie
node2:chgrp root /root/.erlang.cookie
9)、執行各節點
node1&node2:rabbitmqctl stop
node1&node2:rabbitmq-server –detached
10)、組成叢集
A、檢視叢集
這時候還沒有組成叢集
B、將node2加入叢集
node2:rabbitmqctl stop_app
node2:rabbitmqctl join_cluster rabbit@node1
node2:rabbitmqctl start_app
如果此處還有node3,node4等,則只需要加入node1,其他節點自動連線通訊
C、驗證叢集狀態
恭喜,叢集搭建成功!