`

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

阅读更多

arm架构安装RabbitMQ

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

卸载erlang并升级erlang

Erlang官方安装地址: https://www.erlang-solutions.com/downloads/

rpm包安装
  1. #卸载erlang
  2. yum -y remove erlang-*
  3. #官方下载rpm包
  4. #选择对应的系统,如: Centos
  5. #选择系统对应的版本,如:CentOS7 (arm64位) 下载: esl-erlang_24.0.1-1_centos_7_arm64.rpm
  6. #Rpm包安装
  7. sudo rpm -ivh esl-erlang_24.0.1-1_centos_7_arm64.rpm
yum安装erlang
  1. #卸载erlang
  2. yum -y remove erlang-*
  3. #按官网的提示操作
  4. #使用存储库安装
  5. wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
  6. rpm -Uvh erlang-solutions-2.0-1.noarch.rpm
  7. #旧的存储库
  8. wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
  9. rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
  10. #手动添加存储库条目
  11. rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
  12. #添加到“/etc/yum.repos.d/”目录文件中
  13. vim erlang_solutions.repo
  14. [erlang-solutions]
  15. name=CentOS $releasever - $basearch -ErlangSolutions
  16. baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
  17. gpgcheck=1
  18. gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
  19. enabled=1
  20. #查看erlang可安装版本
  21. yum list |grep erlang
  22. yum list erlang --showduplicates | sort -r
  23. #安装erlang,也可安装指定版本
  24. yum install -y erlang
  25. #安装erlang指定版本
  26. yum install erlang-24.0-1.el7.aarch64

RabbitMQ官方安装

使用PackageCloud安装RabbitMQ是最简单的安装方式,按照官方文档来就可以了。 官方地址: https://www.rabbitmq.com/install-rpm.html#package-cloud

  1. #运行Package Cloud提供的RabbitMQ Server快速安装脚本
  2. curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
  3. #运行Package Cloud提供Erlang环境快速安装脚本
  4. curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
  5. #使用yum安装Erlang环境
  6. yum -y install erlang
  7. #安装socat, logrotate依赖
  8. yum install socat logrotate -y
  9. #使用yum安装RabbitMQ Server
  10. yum install -y rabbitmq-server

配置RabbitMQ开机自启动服务

  1. # 启动rabbitmq服务
  2. sudo systemctl start rabbitmq-server.service
  3. # 查看rabbitmq启动状态
  4. sudo systemctl status rabbitmq-server.service
  5. # 停止rabbitmq服务
  6. sudo systemctl stop rabbitmq-server.service
  7. # 重启rabbitmq服务
  8. sudo systemctl restart rabbitmq-server.service
  9. # 开机自启动服务
  10. sudo systemctl enable rabbitmq-server.service
  11. # 查看rabbitmq开机启动状态 enabled:开启, disabled:关闭
  12. sudo systemctl is-enabled rabbitmq-server.service
  13. # 禁止开启启动
  14. sudo systemctl disable rabbitmq-server.service

创建用户操作

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

开启MQTT,web管理界面等插件

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

RabbitMQ过期策略

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

<audio controls="controls" style="display: none;"></audio>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics