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ù)上面五步戈稿。