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"}'

 

posted @ 2022-06-13 16:33  檀潇兵  阅读(1384)  评论(0编辑  收藏  举报