arm架构安装RabbitMQ并升级erlang解决Requires: erlang >= 23.2

arm架构安装RabbitMQ

#查看Linux内核版本 uname -r 4.18.0-80.7.2.el7.aarch64 #或者使用 uname -a#查看erlang版本,输入erl erl#显示如下:Erlang/OTP 24版本,我这里是升级后的版本了,本来版本比较低 Erlang/OTP 24 [erts-12.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]Eshell V12.0(abort with ^G) 1> #yum直接安装RabbitMQ,如果erlang版本比较低,安装的RabbitMQ的版本也会比较低 yum install -y rabbitmq-server#如果安装高版本的RabbitMQ报错 Error: Package: rabbitmq-server-3.8.16-1.el7.noarch (rabbitmq_rabbitmq-server) Requires: erlang >= 23.2 Available: erlang-R16B-03.18.el7.aarch64 (epel) erlang = R16B-03.18.el7 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest#提示erlang的版本太低,必须大于erlang >= 23.2

卸载erlang并升级erlang
【arm架构安装RabbitMQ并升级erlang解决Requires: erlang >= 23.2】Erlang官方安装地址: https://www.erlang-solutions....
rpm包安装
#卸载erlang yum -y remove erlang-*#官方下载rpm包 #选择对应的系统,如: Centos #选择系统对应的版本,如:CentOS7 (arm64位) 下载: esl-erlang_24.0.1-1_centos_7_arm64.rpm #Rpm包安装 sudo rpm -ivh esl-erlang_24.0.1-1_centos_7_arm64.rpm

yum安装erlang
#卸载erlang yum -y remove erlang-*#按官网的提示操作#使用存储库安装 wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm rpm -Uvh erlang-solutions-2.0-1.noarch.rpm#旧的存储库 wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm#手动添加存储库条目 rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc#添加到“/etc/yum.repos.d/”目录文件中 vim erlang_solutions.repo [erlang-solutions] name=CentOS $releasever - $basearch - Erlang Solutions baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch gpgcheck=1 gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc enabled=1#查看erlang可安装版本 yum list |grep erlangyum list erlang --showduplicates | sort -r#安装erlang,也可安装指定版本 yum install -y erlang#安装erlang指定版本 yum install erlang-24.0-1.el7.aarch64

RabbitMQ官方安装
使用PackageCloud安装RabbitMQ是最简单的安装方式,按照官方文档来就可以了。
官方地址:
https://www.rabbitmq.com/inst...
#运行Package Cloud提供的RabbitMQ Server快速安装脚本 curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash#运行Package Cloud提供Erlang环境快速安装脚本 curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash#使用yum安装Erlang环境 yum-y install erlang#安装socat, logrotate依赖 yum install socat logrotate -y#使用yum安装RabbitMQ Server yum install -y rabbitmq-server

配置RabbitMQ开机自启动服务
# 启动rabbitmq服务 sudo systemctl start rabbitmq-server.service # 查看rabbitmq启动状态 sudo systemctl status rabbitmq-server.service# 停止rabbitmq服务 sudo systemctl stop rabbitmq-server.service # 重启rabbitmq服务 sudo systemctl restart rabbitmq-server.service # 开机自启动服务 sudo systemctl enable rabbitmq-server.service# 查看rabbitmq开机启动状态 enabled:开启, disabled:关闭 sudo systemctl is-enabled rabbitmq-server.service# 禁止开启启动 sudo systemctl disable rabbitmq-server.service

创建用户操作
#查看当前用户命令: rabbitmqctl list_users#创建用户admin 密码: abcd_2021 rabbitmqctl add_user admin abcd_2021#将用户给于管理员权限 rabbitmqctl set_user_tags admin administrator#查看用户权限 rabbitmqctl list_user_permissions admin#设置用户权限(接受来自所有Host的所有操作) rabbitmqctlset_permissions -p "/" admin '.*' '.*' '.*'

开启MQTT,web管理界面等插件
#查看插件 rabbitmq-plugins list#启用WEB管理界面插件,管理控制台的默认端口是:15672 #浏览器访问:http://127.0.0.1:15672/ 输入用户名和密码 rabbitmq-plugins enable rabbitmq_management#启用MQTT插件,默认端口mqtt是:1883 mqtt://127.0.0.1:1883 #可以使用EMQ的MQTTX客户端工具连接,或者MQTTLens工具 rabbitmq-plugins enable rabbitmq_mqtt#启用MQTT的websocket插件,默认端口websocket是:15675 ws://127.0.0.1:15675/ws #注意: path是 /ws rabbitmq-plugins enable rabbitmq_web_mqtt#查看启动的端口 netstat -tpnl

RabbitMQ过期策略
#TTL政策将删除指定的时间到期后未使用的队列30分钟. beam.smp high cpu load rabbitmqctl set_policy expiry ".*" '{"expires":1800000}' --apply-to queues#从队列维度设置消息超时时间 60秒: rabbitmqctl set_policy TTL ".*" '{"message-ttl":60000}' --apply-to queues

    推荐阅读