環境:
3臺 centos7.4
rabbitmq3.7
erlang 22
- 有幾種方式安裝,這裏使用的yum安裝(官方推薦)
-
使用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
- 使用yum安裝:yum install erlang rabbitmq-server -y
- 設置自啓動:systemctl enable rabbitmq-server
- 每個節點都按2,3步驟安裝完畢後開始搭建集羣
- 先在一個節點裏啓動rabbitmq服務器:systemctl start rabbitmq-server
- 查看節點啓動情況,active行爲running則啓動正常:systemctl status rabbitmq-server
- 默認路徑/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 - 逐個節點啓動rabbitmq服務器:ssh root@server2 "systemctl start rabbitmq-server"
- 集羣配置:需要使用域名,修改/etc/hosts和/etc/hostname,把各個節點的域名,ip添加好
- 選擇server1作爲主節點,不需要操作,進入其他節點,執行關閉app:rabbitmqctl stop_app,然後執行加入集羣:rabbitmqctl join_cluster rabbit@server1 server1根據自己取的名字更改,rabbit爲固定用戶名稱
- 所有節點都執行完畢後,進入主節點,使用rabbitmqctl cluster_status查看集羣狀況,把各個節點都列出來即爲成功。
- 移除節點:在某個節點裏使用rabbitmqctl reset即可移除