1、前期环境准备(每个主机都配置)
1.准备三台主机
IP地址 | 主机名 | 内存大小 |
192.168.200.10 | rabbitmq1 | 2G |
192.168.200.11 | rabbitmq2 | 2G |
192.168.200.55 | rabbitmq3 | 2G |
2. 设置主机名
hostnamectl set-hostname +主机名
su
exit
Ctrl+r
3. 设置IP地址然后重启网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
4. 关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vim /etc/selinux/config
注释加'#' SELINUX=enforcing
添加 SELINUX=disabled
5. 配置yum源
案例:配置阿里云的yum源
阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)
配置外网YUM源 => 阿里云
第一步:使用cd命令切换到/etc/yum.repos.d目录
cd /etc/yum.repos.d/
第二步:对所有的仓库文件进行备份
tar -zcf repo.tar.gz *.repo
第三步:删除所有的以.repo结尾的仓库文件
rm -rf *.repo
第四步:查询当前服务器有哪些仓库
yum repolist all
第五步:配置yum仓库
1. 清除 yum 的缓存: yum clean all
2. 重新生成 yum 的缓存: yum makecache
3.查询当前服务器有哪些yum仓库: yum repolist all
二、安装RabbitMQ(每个主机都配置)
1. 安装Erlang
yum -y install erlang
2. 安装RabbitMQ
yum install -y rabbitmq-server
3. 修改配置文件
1.将一个 RabbitMQ 配置示例文件复制到 RabbitMQ 的配置目录
cp /usr/share/doc/rabbitmq-server-3.3.5/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
2. 修改配置文件
vim /etc/rabbitmq/rabbitmq.config
打开配置文件,53行 去掉注释%%和逗号
4. 安装插件并启动服务
1. 这个命令会启用插件,并且RabbitMQ会自动重启以应用更改
rabbitmq-plugins enable rabbitmq_management
2. 为了使这些更改生效,需要重新启动 RabbitMQ 服务
systemctl restart rabbitmq-server
5. 查看RabbitMQ 集群的当前状态
rabbitmqctl cluster_status
三、设置erlang运行节点
1. 找到erlang cookie文件的位置 (一定要保证三台机器的cookie内容一致)
- 源码包部署一般会存在.erlang.cookie文件;
- rpm包部署一般是在/var/lib/rabbitmq/.erlang.cookie。
- 将 rabbitmq1 的该文件使用rsync或者是scp复制到 rabbitmq2、rabbitmq3,文件权限需要是400。
scp /var/lib/rabbitmq/.erlang.cookie rabbitmq2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie rabbitmq3:/var/lib/rabbitmq/.erlang.cookie
2. 查看.erlang.cookie是否一致
cat /var/lib/rabbitmq/.erlang.cookie
3. 重启RabbitMQ服务
systemctl restart rabbitmq-server
四、配置rabbitmq2和rabbitmq3
1. 关闭rabbitmq2和rabbitmq3的服务
rabbitmqctl stop
2. 启动RabbitMQ服务器并使其在后台运行
rabbitmq-server -detached
3. 在Unix/Linux系统中以后台守护进程模式启动RabbitMQ服务器
rabbitmq-server -detached
-
2、3 独立运行节点,warning提示不用理会
-
Warning: PID file not written; -detached was passed.
五、组成集群
1. 查看各个主机节点状态
rabbitmqctl cluster_status
2. 将rabbitmq2、rabbitmq3加入到rabbitmq1中组成集群
1. 配置rabbitmq2
rabbitmqctl stop_app
仅停止应用,不关闭节点
2.将一个RabbitMQ2节点加入到已经存在的RabbitMQ1集群中
rabbitmqctl join_cluster rabbit@rabbitmq1
3. 启动RabbitMQ应用程序
rabbitmqctl start_app
4. 将RabbitMQ2节点加入到已存在的集群中
rabbitmqctl join_cluster --ram rabbit@rabbitmq1
5. 配置rabbitmq2
rabbitmqctl stop_app
仅停止应用,不关闭节点
6.将一个RabbitMQ3节点加入到已经存在的RabbitMQ1集群中
rabbitmqctl join_cluster rabbit@rabbitmq1
7. 启动RabbitMQ应用程序
rabbitmqctl start_app
8. 将RabbitMQ3节点加入到已存在的集群中
rabbitmqctl join_cluster --ram rabbit@rabbitmq1
3. 在任意节点上查看集群状态
rabbitmqctl cluster_status
六、访问测试
1. 访问192.168.200.10
地址为rabbitMQ所在服务器的地址
端口号:15672
http://192.168.200.10:15672