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、驗證集群狀態
恭喜,集群搭建成功!