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控制台即可配置日志