從0到1在Linux上搭建RabbitMq集群教程

2022-02-03 11:21:28 字數 4253 閱讀 9806

搭建環境阿里雲centeros8.2,erlang23.x,rabbitmq3.8.x

1、準備三颱阿里雲伺服器,情況如下

2、鑑於後續埠通訊等操作需要,提前做好前置工作

1)阿里雲安全組內開通15672埠,便於遠端管理rabbitmq集群

2)配置三颱主機的hosts檔案,因為rabbitmq是通過主機名稱識別的,命令如下

vi /etc/hosts

172.16.213.251

izbp145wkv4vf3oba7qge2z izbp145wkv4vf3oba7qge2z

172.16.213.250

izbp145wkv4vf3oba7qge1z izbp145wkv4vf3oba7qge1z

172.16.213.246

izbp145wkv4vf3oba7qge0z izbp145wkv4vf3oba7qge0z

#三颱機器分別做如上hosts檔案修改

#ok之後可以互ping一下,例如

ping

izbp145wkv4vf3oba7qge0z

#如果通代表ok

3、開始分別在三颱機器上安裝rabbitmq,整體步驟比較簡單,按步驟執行如下命令即可

cd /usr/local

mkdir

erlang

cd erlang

##########

#安裝erlang

rpm -ivh '

download_file?file_path=erlang%2f23%2fel%2f8%2fx86_64%2ferlang-23.2.3-1.el8.x86_64.rpm

'#設定映象倉庫

#安裝socat

#匯入證書

#執行安裝

rpm -ivh rabbitmq-server-3.8.11-1

.el7.noarch.rpm

[/usr/lib/tmpfiles.d/rabbitmq-server.conf:1] line references path below legacy directory /var/run/, updating /var/run/rabbitmq → /run/rabbitmq; please update the tmpfiles.d/ drop-in

file

accordingly.

#設定開機啟動

systemctl enable rabbitmq-server.service

#啟動服務

systemctl start rabbitmq-server.service

#停止服務

systemctl stop rabbitmq-server.service

#安裝遠端訪問外掛程式,否則集群後看不到狀態情況

rabbitmq-plugins enable rabbitmq_management

#至此,可以通過http:

//ip:15672檢視遠端管理介面了,但是沒辦法登入,guest只能localhost訪問

#因為要構建集群,所以只要在s1主伺服器建立賬戶即可

#如下命令在s1執行

rabbitmqctl add_user admin yourpwd

rabbitmqctl set_user_tags admin administrator

setting tags

for user "

admin

"to [administrator] ...

rabbitmqctl set_permissions -p / admin ".*"

".*""

.*"#這樣可以通過admin登入管理了

4、至此,已經在三颱伺服器成功安裝了rabbitmq,並且可以通過遠端web進行訪問管理了

5、開始構建集群環境

#從s1伺服器上覆制.erlang.cookie檔案到s2,s3,當然也可以直接修改.erlang.cookie檔案內容

scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/

scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq/#在三颱伺服器上,分別設定.erlang.cookie的許可權

chown rabbitmq:root /var/lib/rabbitmq/.erlang.cookie

chmod

600 /var/lib/rabbitmq/.erlang.cookie

6、開始編組,分別登陸s2,s3伺服器,執行如下命令,將s2,s3編組到s1中

7、到此已經完成了編組,但目前的集群模式還是普通模式,也就是所謂的從元資料模式,實現不了高可用目的;下面執行命令配置為映象模式;

rabbitmqctl set_policy ha-all "^"

''setting policy

"ha-all

"for pattern "

^" to "

" with priority "

0" …

#上面命令在3臺伺服器上都要執行

8、更多命令操作

# 新增賬號:

rabbitmqctl add_user admin admin

# 新增 許可權tag

rabbitmqctl set_user_tags admin administrator

# 刪除使用者(刪除guest使用者)

rabbitmqctl delete_user guest

deleting user

"guest

"# 修改使用者的密碼

rabbitmqctl change_password username newpassword

[ root@aliyun_us_b_mq_m~]# rabbitmqctl change_password admin 0gm1aol4z8geszy99

changing password

for user "

admin

"# 檢視當前使用者列表

rabbitmqctl list_users

listing users

admin [administrator]

#修改節點型別disk還是ram

rabbitmqctl change_cluster_node_type disc

#狀態檢視

rabbitmqctl cluster_status

#解除安裝yum list|grep

rabbitmq

yum -y remove rabbitmq-server.noarch

9、使用集群

1  var connectionfactory =new connectionfactory() 2

; //

建立連線工廠

9 var connection = connectionfactory.createconnection(new string

); //

建立connection

14 var channel = connection.createmodel(); //

建立channel

從0到1搭建React Native開發環境

rn開發之前要配置一系列的開發環境,這裡剛配置好,這裡做乙個總結記錄,希望對大家有幫助。1.nvm是什麼呢?全稱node version manage。看到全稱應該知道了吧,其實nvm就是用來管理nodejs的乙個管理器,他可以安裝多個版本的nodejs和npm版本。nodejs是什麼?nodejs...

從0到1搭建自助分析平台

自助分析平台是構建在大資料平台之上的,依託於大資料平台的資料研發能力,通過統一的資料服務,實現對資料查詢 分析的統一管理,為企業業務分析提供高效的資料決策支援,同時也避免資料工程師陷入繁雜的提數需求中。自助分析平台是有計算機基礎的業務人員能夠快速上手的前端產品,既要有大資料的處理效能,有需要有簡單好...

《從「 0」 到 「 」,在路上》

2021年3月30日,新的部落格開篇 最近好多煩心事 對自己未來的迷茫 對美好的畫面的渴望 不知道該從 學起 不知道自己畢業後能做什麼工作 能有什麼樣的薪資 既想帶著心愛的人走遍世界 又不得不接受當下自己的渺小 既想活出自己的彩色的人生 又不得不面對自己在現實面前沒得選的事實 雖然總覺得自己還年輕 ...