1.安装依赖环境
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz epel-release lksctp*
2.确认RabbitMQ版本 和 Erlang 版本兼容性关系
3.安装Erlang
由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。
Erlang的安装方式大概有3种:
1.从Erlang Solution安装(推荐)
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum install erlang-solutions-1.0-1.noarch.rpm
2.从EPEL源安装(这种方式安装的Erlang版本可能不是最新的)
yum install epel-release
yum install erlang
3.通过压缩包方式安装
点击右边一排选择自己想要的版本,然后点击Download source下载类似于otp_src_25.3.2.5.tar
如果下载不下来可以去服务器上面wget
解压后使用命令
./configure --prefix=/app/erlang --with-ssl --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll --enable-sctp
make
make install
4.安装socat
yum install socat
5.下载rabbitmq
【rabbitmq下载地址】:https://github.com/rabbitmq/rabbitmq-server/releases
下载后安装
1.rpm安装
yum install rabbitmq-server-3.10.25-1.el8.noarch.rpm
2.下载压缩包安装
点击RHEL
点击Downloading
点击GitHub
点击Tags,然后下面选择想要的版本
rabbitmq-server-generic-unix-3.12.2.tar这种名字的才是正规安装包
xz -d rabbitmq-server-generic-unix-3.12.2.tar
tar -xvf rabbitmq-server-generic-unix-3.12.2.tar
解压后就可以使用了
6.打开MQ的管理页面
rabbitmq-plugins enable rabbitmq_management
7.添加删除用户
新增用户
rabbitmqctl add_user {username} {password}
删除用户:
rabbitmqctl delete_user {username}
添加管理员
rabbitmqctl set_user_tags {username} administrator
设置用户权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
检查权限
rabbitmqctl list_user_permissions admin
8.登录管理界面
URL地址:http://192.168.109.101:15672/
默认账号:guest
默认密码:guest
如果不行,尝试开启防火墙15672的端口
9.常用命令
systemctl start rabbitmq-server
systemctl status rabbitmq-server
systemctl stop rabbitmq-server
systemctl restart rabbitmq-server
10.集群搭建
1.复制.erlang.cookie
这个文件会在第一次启动rabbitmq的时候生成,注意是个隐藏文件)
多个集群要使用同一个.erlang.cookie
2.修改/etc/hosts
组成RabbitMQ集群需要将集群各节点的IP 主机名添加到彼此的/etc/hosts中
3.启动 RabbitMQ 服务,顺带启动 Erlang 虚拟机和 RbbitMQ 应用服务
rabbitmq-server -detached
4.加入集群
首先把B加到A中,在B上执行下面命令,把B的Rabbitmq服务器先停止,加入到A中,然后再重启
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@Bhostname
rabbitmqctl start_app
注意:需要确保4369/25672端口开启
5.检查集群状态
rabbitmqctl cluster_status
看Running Nodes
在控制台也可以看到
11.镜像队列搭建
在控制台里选择admin再选择policies
Name: policy的名称
Pattern: queue的匹配模式(正则表达式)
Definition: 镜像定义,包括三个部分 ha-mode,ha-params,ha-sync-mode
ha-mode: 指明镜像队列的模式,有效值为 all/exactly/nodes
all表示在集群所有的节点上进行镜像
exactly表示在指定个数的节点上进行镜像,节点的个数由ha-params指定
nodes表示在指定的节点上进行镜像,节点名称通过ha-params指定
ha-params: ha-mode模式需要用到的参数
ha-sync-mode: 镜像队列中消息的同步方式,有效值为automatic,manually
创建可以看到