集群搭建环境
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集成的代码详情请见链接