rabbitmq-server的安装与升级

下载地址

rabbitmq和erlang的对应版本:https://www.rabbitmq.com/which-erlang.html
rabbitmq-server包下载地址:https://github.com/rabbitmq/rabbitmq-server/releases
erlang包下载地址:https://github.com/rabbitmq/erlang-rpm/releases
socat包下载地址:https://pkgs.org/download/socat

安装

安装之前需要查看自己系统的版本

# uname -a
Linux admin.blog.test 3.10.0-1160.21.1.el7.x86_64 #1 SMP Tue Mar 16 18:28:22 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

可以看到我的系统是el7.x86_64版本的。下载rabbitmq-server、erlang、socat都需要和系统版本对应
安装rabbitmq-server前必须安装erlang和socat,因为rabbitmq-server需要依赖这两个。

安装socat

安装socat只需要装最新的就ok了

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.rpm
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm

-i 代表install, -v 和 -h 只不过是打印操作日志的一些参数设置

我的系统是el7.x86_64版本的,所以下载该版本
image.png

安装erlang

首先去查看rabbitmq-server版本对应的erlang版本,erlang下载地址:https://www.rabbitmq.com/which-erlang.html

image.png

那么就去下载erlang的23.x最新版本吧。

wget https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.1/erlang-23.3.1-1.el7.x86_64.rpm
rpm -ivh erlang-23.3.1-1.el7.x86_64.rpm

安装rabbitmq-server

安装完erlang和socat后,才可以安装rabbitmq-server,下载地址:https://github.com/rabbitmq/rabbitmq-server/releases
找到系统对应的rabbitmq-server版本和密钥进行下载:
image.png

首先导入密钥

rpm -import https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-3.8.14-1.el7.noarch.rpm.asc

下载并安装rabbitmq-server

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-3.8.14-1.el7.noarch.rpm
rpm -ivh rabbitmq-server-3.8.14-1.el7.noarch.rpm

此时就应该就安装好rabbitmq-server了。

启动和停止rabbitmq服务

启动rabbitmq服务

nohup /usr/lib/rabbitmq/bin/rabbitmq-server start > rabbitmq.log &

停止rabbitmq服务

/usr/lib/rabbitmq/bin/rabbitmqctl stop

升级rabbitmq服务

如果是rabbitmq-server的版本升级跨越稍微比较大,那么erlang版本就可能也需要升级。
此时我把rabbitmq-server降级为3.7.16,erlang版本为21

/usr/lib/rabbitmq/bin/rabbitmqctl version
3.7.16

erl version
Erlang/OTP 21 [erts-10.3.5.10] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

现在要升级rabbitmq-server为3.8.14版本。升级rabbitmq-sever服务前,先停止rabbitmq服务和升级erlang版本。
需要注意的是,升级服务的命令参数为 -Uupgrade,如果是安装服务的命令参数才是 -iinstall

/usr/lib/rabbitmq/bin/rabbitmqctl stop

# 升级erlang版本
rpm -Uvh erlang-23.3.1-1.el7.x86_64.rpm

rpm -Uvh rabbitmq-server-3.8.14-1.el7.noarch.rpm

那么此时则升级rabbitmq完毕。

rabbitmq管理控制台

启动控制台需要启用rabbitmq_management插件

/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management

将RabbitMQ文件的所有权提供给RabbitMQ用户

chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

给rabbitmq管理控制台添加管理员用户

rabbitmqctl add_user admin adminPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

操作完后打开地址http://你的服务IP:15672, 登录后可以查看到这样的界面

image.png

总结

以上就是关于rabbitmq服务安装与升级的一些基本操作。

个人博客网址: https://colablog.cn/

如果我的文章帮助到您,可以关注我的微信公众号,第一时间分享文章给您
微信公众号

RabbitMQ 是一个广泛使用的开源消息中间件,用于实现应用程序之间的异步通信和解耦。当 RabbitMQ 服务进入 **crashed(崩溃)** 或 **failed(失败)** 状态时,通常意味着服务在运行过程中遇到了严重错误,导致无法继续正常工作。以下是对此类问题的详细分析和解决方案: ### 3.1 RabbitMQ 服务进入崩溃或失败状态的常见原因 - **配置错误**:例如端口冲突、无效的配置文件、权限设置错误等可能导致服务无法启动或运行异常。 - **资源不足**:系统内存、磁盘空间不足,或文件描述符限制过低,可能在高负载情况下引发崩溃。 - **日志文件损坏或磁盘写入失败**:如果 RabbitMQ 无法写入日志文件或持久化数据,可能导致服务异常退出。 - **依赖服务不可用**:RabbitMQ 依赖 Erlang 虚拟机,若 Erlang 环境异常,也可能导致服务崩溃。 - **版本不兼容或 Bug**:使用了存在已知缺陷的 RabbitMQ 或 Erlang 版本,可能在特定条件下触发崩溃。 ### 3.2 RabbitMQ 崩溃或失败状态的排查步骤 1. **检查服务状态** 使用以下命令查看 RabbitMQ 服务状态,确认是否处于 `failed` 状态: ```bash sudo systemctl status rabbitmq-server ``` 如果服务状态为 `inactive (failed)`,则表示服务已进入失败状态[^1]。 2. **查看系统日志** 使用 `journalctl` 查看服务日志: ```bash sudo journalctl -u rabbitmq-server.service ``` 重点关注崩溃前的错误信息,如连接失败、端口占用、配置错误等。 3. **检查 RabbitMQ 日志文件** RabbitMQ 的日志通常位于 `/var/log/rabbitmq/` 目录下。查看 `rabbitmq-server.log` 文件,分析崩溃原因: ```bash tail -n 100 /var/log/rabbitmq/rabbitmq-server.log ``` 4. **验证 Erlang 环境** RabbitMQ 依赖 Erlang,确保 Erlang 安装正常且版本兼容。可运行以下命令检查 Erlang 是否可用: ```bash erl -version ``` 5. **检查资源配置** 查看系统资源限制,尤其是文件描述符限制和内存使用情况: ```bash ulimit -n free -h df -h ``` ### 3.3 RabbitMQ 崩溃后的恢复措施 - **重启服务** 尝试重启 RabbitMQ 服务: ```bash sudo systemctl restart rabbitmq-server ``` 如果重启失败,建议结合日志进一步排查。 - **重新安装 RabbitMQ** 若服务无法恢复,可尝试卸载后重新安装 RabbitMQ: ```bash sudo apt remove rabbitmq-server sudo apt install rabbitmq-server ``` - **恢复配置文件** 如果配置文件损坏,可从备份中恢复 `/etc/rabbitmq/rabbitmq.conf` 和 `/etc/rabbitmq/enabled_plugins` 文件。 - **升级 RabbitMQ 和 Erlang** 确保使用的是最新稳定版本,以修复潜在的 Bug 和兼容性问题。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值