二、Linux部署RabbitMQ集群


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、驗證集群狀態

 

 

 

恭喜,集群搭建成功!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM