RabbitMQ集群搭建
1 环境准备
准备三台服务器,三台机器均预装CentOS7 操作系统。分别配置机器名 worker1,worker2, worker3。然后需要关闭防火墙(或者找到RabbitMQ的业务端口全部打开。 5672(amqp端口);15672(http Api端口);25672(集群通信端口))。
2 单机安装
2.1 安装资源下载
cd /usr/local
mkdir rabbitmq
cd rabbitmq
包含Erlang语言包与rabbitmq的rpm文件
链接:https://pan.baidu.com/s/1pud7GPa5Wx7kO3L3_e0eZg
提取码:jlbc
将两个安装包放于创建的rabbitmq文件夹下
2.2 安装Erlang语言包
rpm -ivh erlang-23.2.7-1.el7.x86_64.rpm
2.3 安装socat
yum install socat
2.4 安装RabbitMQ
rpm -Uvh rabbitmq-server-3.9.15-1.el7.noarch.rpm
# 查看安装情况
whereis rabbitmqctl
2.5 启动命令
#启动RabbitMQ服务 service rabbitmq-server start
#停止RabbitMQ服务
service rabbitmq-server stop
#查看服务状态
service rabbitmq-server status
#后台启动服务
rabbitmq-server -deched
# 启动服务
rabbitmqctl start_app
# 停止服务
rabbitmqctl stop_app
2.6 配置WEB管理界面
rabbitmq-plugins enable rabbitmq_management
2.7 创建管理员账户
rabbitmqctl add_user admin 123456 rabbitmqctl set_permissions -p / admin "." "." ".*" rabbitmqctl set_user_tags admin administrator
2.8 开放相关端口
/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
# 重启
service rabbitmq-server start
2.9 访问
输入网址http://124.221.237.87:15672访问。
3 集群搭建
3.1 配置三台服务器的hosts
vim /etc/hosts #查询主机名称 hostname #尾部添加以下配置(124.221.243.252为IP,VM-16-11-centos为主机名称) 124.221.243.252 VM-16-11-centos VM-16-11-centos 124.221.237.87 VM-4-9-centos VM-4-9-centos 180.76.177.17 lsegumsw72 lsegumsw72
3.2 同步集群节点中的cookie
以124.221.237.87为主节点同步124.221.237.87中的cookie信息。
scp /var/lib/rabbitmq/.erlang.cookie root@180.76.177.17:/var/lib/rabbitmq/.erlang.cookie scp /var/lib/rabbitmq/.erlang.cookie root@124.221.243.252:/var/lib/rabbitmq/.erlang.cookie
# 三台服务都重启服务
service rabbitmq-server stop
service rabbitmq-server start
3.3 普通集群构建
# 分别在从节点124.221.243.252与180.76.177.17上执行以下命令
rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbit@VM-4-9-centos
rabbitmqctl start_app
出现以上情况即普通集群构建成功。
3.4 镜像集群构建
通常在生产环境中,为了减少RabbitMQ集群之间的数据传输,在配置镜像策略 时,会针对固定的虚拟主机virtual host来配置。
rabbitmqctl add_vhost /mirror rabbitmqctl set_policy ha-all --vhost "/mirror" "^" '{"ha-mode":"all"}'