ubuntu16搭建五節(jié)點(diǎn)RabbitMQ集群

Step1.安裝Erlang

fug@omnisky:~$ sudo apt-get update

fug@omnisky:~$ sudo apt-get install -y erlang-nox erlang-dev erlang-src

檢驗(yàn)是否安裝成功:fug@omnisky:~$ erl

輸出:Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:16:16] [async-threads:10] [kernel-poll:false]

Eshell V7.3? (abort with ^G)

1>

得到以上輸出代表Erlang安裝成功

Step 2:安裝RabbitMQ

①fug@omnisky:~$ echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list

輸出為:deb http://www.rabbitmq.com/debian/ testing main

②fug@omnisky:~$ wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

輸出為:

--2019-11-05 14:14:52-- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

Resolving www.rabbitmq.com (www.rabbitmq.com)... 2606:4700:10::6814:ae0, 2606:4700:10::6814:be0, 104.20.10.224, ...

Connecting to www.rabbitmq.com (www.rabbitmq.com)|2606:4700:10::6814:ae0|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: unspecified [text/plain]

Saving to: ‘STDOUT’

-? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [? <=>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ]? 3.11K? 5.10KB/s? ? in 0.6s? ?

2019-11-05 14:14:54 (5.10 KB/s) - written to stdout [3187]

OK

③fug@omnisky:~$ sudo apt-get install rabbitmq-server

④fug@omnisky:~$ service rabbitmq-server start

⑤查看狀態(tài),驗(yàn)證是否安裝成功:fug@omnisky:~$ service rabbitmq-server status

輸出為:

● rabbitmq-server.service - RabbitMQ broker

? Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)

? Active: active (running) since 二 2019-11-05 14:15:44 CST; 39s ago

Main PID: 17602 (beam.smp)

? Status: "Initialized"

? CGroup: /system.slice/rabbitmq-server.service

? ? ? ? ? ├─17602 /usr/lib/erlang/erts-7.3/bin/beam.smp -W w -A 256 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true -- -root /usr/li

? ? ? ? ? ├─17690 /usr/lib/erlang/erts-7.3/bin/epmd -daemon

? ? ? ? ? ├─18062 inet_gethost 4

? ? ? ? ? └─18063 inet_gethost 4

⑥手動(dòng)添加配置文件,允許遠(yuǎn)程登錄:sudo vim /etc/rabbitmq/rabbitmq.config

 在文件中添加一行:[{rabbit,[{loopback_users,[]}]}].

⑦添加新用戶并設(shè)置密碼:先cd /usr/sbin,然后?sudo ./rabbitmqctl add_user 此處為用戶名 此處為密碼

? ? 輸出:Creating user 你的用戶名

⑧為用戶添加管理員權(quán)限及資源訪問權(quán)限:fug@omnisky:/usr/sbin$ sudo ./rabbitmqctl set_user_tags 用戶名 administrator

 輸出:Setting tags for user 用戶名 to [administrator]

? ?fug@omnisky:/usr/sbin$ sudo ./rabbitmqctl set_permissions -p "/" 用戶名 ".*" ".*" ".*"

? ? 輸出:Setting permissions for user 用戶名 in vhost "/"

⑨重啟RabbitMQ: fug@omnisky:/usr/sbin$ service rabbitmq-server restart

⑩開啟web管理插件:?fug@omnisky:/usr/sbin$ sudo ./rabbitmq-plugins enable rabbitmq_management

Step3:修改節(jié)點(diǎn)名

????fug@omnisky:/etc/rabbitmq$ sudo vim /etc/rabbitmq/rabbitmq-env.conf

????文件內(nèi)容: NODENAME=rabbit@節(jié)點(diǎn)名(如:NODENAME=rabbit@rabbitmq1)

? ??配置節(jié)點(diǎn)的hosts文件

????文件路徑:sudo vim /etc/hosts

 文件內(nèi)容:ip 節(jié)點(diǎn)名(如:123.45.67.89 rabbitmq1)

Step4:將每一臺(tái)主機(jī)都按Step2、3部署

setp5 搭建集群

①修改.erlang中的cookie值,所有節(jié)點(diǎn)的值都與主節(jié)點(diǎn)一致:

? ??路徑在$HOME中或者在/var/lib/rabbitmq中,文件名稱為.erlang.cookie,他是一個(gè)隱藏文件。

? ???在主節(jié)點(diǎn)cd 到/var/lib/rabbitmq 然后輸入,sudo cat .erlang.cookie,會(huì)看到主節(jié)點(diǎn)的cookie值

? ? ②在從節(jié)點(diǎn)中,執(zhí)行fug@omnisky:/usr/sbin$ sudo vim /var/lib/rabbitmq/.erlang.cookie

? ? ????將文件中的cookie值替換為上一步得到的主節(jié)點(diǎn)的rookie值

? ? ? ? 然后重啟RabbitMQ: fug@omnisky:/usr/sbin$ service rabbitmq-server restart

? ? ③停止從節(jié)點(diǎn),fug@omnisky:/usr/sbin$ sudo ./rabbitmqctl stop_app

????④將從節(jié)點(diǎn)加入集群 fug@omnisky:/usr/sbin$ sudo ./rabbitmqctl join_cluster 此處為要加入的集群主節(jié)點(diǎn)(我的是rabbit@rabbitmq1)

? ?  輸出:Clustering node rabbit@rabbitmq3 with rabbit@rabbitmq1 ... 則代表添加成功了

 ⑤重啟從節(jié)點(diǎn)服務(wù),fug@omnisky:/usr/sbin$ service rabbitmq-server restart

? ? ⑥對(duì)每個(gè)要加入集群的從節(jié)點(diǎn),重復(fù)上面五步。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容