集群搭建環境
3台centos7.0
3台機器ip是
172.16.10.51
172.16.10.52
172.16.10.53
第一步修改主機名
執行命令hostnamectl set-hostname vms1 注意一定要注意小寫字母
執行命令hostnamectl set-hostname vms2 注意一定要注意小寫字母
執行命令hostnamectl set-hostname vms3 注意一定要注意小寫字母
第二部修改/etc/hosts解析
172.16.10.51 vms1
172.16.10.52 vms2
172.16.10.53 vms3
所有機器如此修改,注意一定要去掉host的解析
第三部安裝軟件
erlang下載地址
wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
rabbitmq下載地址
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
安裝rabbitmq過程中需要安裝依賴
socat
使用命令
yum install socat
安裝好所有軟件后請記得修改
三台服務器下/var/lib/rabbitmq/.erlang.cookie這個文件,這個文件里面內容修改成一致,后期集群間通信會采用這個文件的內容進行鑒權。
修改該文件的組和用戶
chmod rabbitmq:rabbitmq .erlang.cookie 注意不修改會出現錯誤
接下來我們需要啟動rabbitmq並且加入集群
首先在vms1上面進入/sbin目錄,然后執行
./service rabbitmq-server start 進行啟動服務
啟動服務后我們在vms2,vms3上分別啟動服務然后
執行
./rabbitmqtctl stop_app
./rabbitmqctl join_cluster --ram rabbit@vms1 ,--ram 是以內存的方式存儲元數據等信息,至少需要一個節點的元數據存儲在磁盤,假設只有一個節點存放元數據如果節點壞了會產生異常
./rabbitmqctl start_app
好所有節點都已經加入集群
由於rabbitmq采用鏡像集群策略才能保證高可用性下面需要設置策略
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
主節點上執行該命令到此為止高可用集群已經基本構建完畢
下面是rabbitmq集群和springboot2.0集成的代碼詳情請見鏈接