Linux下搭建RabbitMQ镜像集群

1. 下载erlang、RabbitMQ、RabbitMQ延迟消息插件

下载速度比较慢,所以请大家先下载资源包,后续就不用一直在等待资源包的下载了

cd /usr/local
wget https://github.com/erlang/otp/releases/download/OTP-25.3.2/otp_src_25.3.2.tar.gz
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.15/rabbitmq-server-generic-unix-3.11.15.tar.xz
wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/3.11.1/rabbitmq_delayed_message_exchange-3.11.1.ez

2.安装erlang

更新软件包

yum -y update

安装ncurses模块

yum -y install ncurses-devel
yum install ncurses-devel

创建erlang安装目录

mkdir erlang

解压otp_src_25.3.2.tar.gz

tar -zvxf otp_src_25.3.2.tar.gz

配置安装路径

cd otp_src_25.3.2
./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac

编译安装

make && make install

配置环境变量

vi /etc/profile

在文件末尾追加

# erlang环境变量
export PATH=$PATH:/usr/local/erlang/bin

使配置生效

source /etc/profile

查看是否安装完成

erl

在这里插入图片描述
退出erl使用命令 halt().注意:后面有一个小数点
在这里插入图片描述
开放端口4369,epmd,RabbitMQ节点和CLI工具使用的对等发现服务端口

firewall-cmd --zone=public --add-port=4369/tcp --permanent
firewall-cmd --reload

至此,erlang安装完成

3. 安装RabbitMQ

解压rabbitmq-server-generic-unix-3.11.15.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.11.15.tar.xz

添加环境变量

vim /etc/profile

在末尾添加以下内容

# RabbitMQ环境变量
export PATH=$PATH:/usr/local/rabbitmq_server-3.11.15/sbin

使配置生效

source /etc/profile

启动web插件管理

cd /usr/local/rabbitmq_server-3.11.15/sbin
rabbitmq-plugins enable rabbitmq_management

启动延迟组件,将前面下载好的延迟组件移到rabbitmq的插件目录下,并启用插件

mv /usr/loacal/rabbitmq_delayed_message_exchange-3.11.1.ez /usr/local/rabbitmq_server-3.11.15/plugins/
cd /usr/local/rabbitmq_server-3.11.15
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

启动RabbitMQ服务

rabbitmq-server -detached

添加RabbitMQ管理员用户

rabbitmqctl add_user rabbitadmin rabbitadmin
rabbitmqctl set_user_tags rabbitadmin administrator
rabbitmqctl set_permissions -p / rabbitadmin ".*" ".*" ".*"

开放端口5671、5672、15671、15672、25672
5671、5672端口:两个端口分别用于 AMQP 协议的普通连接和 SSL 连接。如果使用 AMQP 协议进行消息传递,则需要开放 5672 端口;如果使用 SSL 加密连接,则需要开放 5671 端口。
15672端口:RabbitMQ 的 Web 管理界面
25672端口:这个端口是 RabbitMQ 的集群内部通信端口,用于管理网络分区等情况下的节点之间的通信。在 RabbitMQ 集群中,应该允许集群中所有节点之间的 25672 端口互相通信。

firewall-cmd --zone=public --add-port=5671/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15671/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=25672/tcp --permanent
firewall-cmd --reload

访问web界面:http://ip:15672
用户密码为上面添加的rabbitadmin

至此RabbitMQ单机版安装完成,另外两台机器也如上配置erlang、RabbitMQ,下面的集群需要使用
安装包下载速度过慢,只需要在一台服务器上下载,其他服务器通过scp命令复制过去即可

4. 配置集群

三台服务器停止RabbitMQ服务

rabbitmqctl stop

同步cookie,.erlang.cookie即为cookie文件,注意:这里同步cookie时需要确保RabbitMQ服务已停止

cd
ls -la

在这里插入图片描述
把86服务的cookie同步到87,88

scp /root/.erlang.cookie root@192.168.0.87:/root/.erlang.cookie
scp /root/.erlang.cookie root@192.168.0.88:/root/.erlang.cookie

三台服务器启动RabbitMQ服务

rabbitmq-server -detached

在87,88分别执行以下命令加入集群

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@manager86
rabbitmqctl start_app

查看集群

rabbitmqctl cluster_status

配置镜像队列
进入任意一台RabbitMQ web控制台,进行镜像队列配置
选中Admin->Policies->Add/ update a policy,根据下图配置,配置完后点击下面的Add/update a policy按钮完成配置
在这里插入图片描述

5.启动日志监听

在linux控制台执行以下两条命令,三台服务器都要执行

rabbitmqctl trace_on
rabbitmq-plugins enable rabbitmq_tracing

然后在web控制台即可配置日志
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值