環境:
3台 centos7.4
rabbitmq3.7
erlang 22
1. 有幾種方式安裝,這里使用的yum安裝(官方推薦)
2. 使用rabbitmq時需要安裝erlang,在各個節點上使用vim添加兩個repo文件
**/etc/yum.repos.d/rabbitmq_erlang.repo**
```
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
```
**/etc/yum.repos.d/rabbitmq.repo**
```
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
```
3. 使用yum安裝:yum install erlang rabbitmq-server -y
4. 設置自啟動:systemctl enable rabbitmq-server
5. 每個節點都按2,3步驟安裝完畢后開始搭建集群
6. 先在一個節點里啟動rabbitmq服務器:systemctl start rabbitmq-server
7. 查看節點啟動情況,active行為running則啟動正常:systemctl status rabbitmq-server
8. 默認路徑/var/lib/rabbitmq/.erlang.cookie,復制這個文件到其他節點相同的目錄:scp /var/lib/rabbitmq/.erlang.cookie root@server2:/var/lib/rabbitmq/
復制的文件有權限問題,需要修改,如果不修改啟動會報錯:
[error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
修改權限:chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
9. 逐個節點啟動rabbitmq服務器:ssh root@server2 "systemctl start rabbitmq-server"
10. 集群配置:需要使用域名,修改/etc/hosts和/etc/hostname,把各個節點的域名,ip添加好
11. 選擇server1作為主節點,不需要操作,進入其他節點,執行關閉app:rabbitmqctl stop_app,然后執行加入集群:rabbitmqctl join_cluster rabbit@server1 server1根據自己取的名字更改,rabbit為固定用戶名稱
12. 所有節點都執行完畢后,進入主節點,使用rabbitmqctl cluster_status查看集群狀況,把各個節點都列出來即為成功。
13. 移除節點:在某個節點里使用rabbitmqctl reset即可移除