Erlang 版本要求
简介
本指南涵盖 Erlang/OTP 版本要求、Erlang 版本支持策略、RabbitMQ/Erlang 兼容性矩阵、版本特定说明以及配置最新 Erlang/OTP 版本的方法。
支持的 Erlang 版本策略
RabbitMQ 最多支持两个最新的 Erlang 发行系列。
目前它们是 Erlang 27.x
和 26.x
。
Erlang 27 支持
Erlang 27 从 RabbitMQ 4.0.4 开始支持。
Erlang 26 支持
Erlang 26 从 RabbitMQ 3.12.0 开始支持。
RabbitMQ 和 Erlang/OTP 兼容性矩阵
下表提供了当前支持的 RabbitMQ 发行系列的 Erlang 兼容性矩阵。对于已达到生命周期结束的 RabbitMQ 发行版,请参阅不支持的系列兼容性矩阵。
RabbitMQ 版本 | 最低要求的 Erlang/OTP | 最大支持的 Erlang/OTP | 注释 |
---|---|---|---|
|
|
|
|
|
|
|
重要提示 早于 4.0.4 的 RabbitMQ 版本与 Erlang 27 不兼容。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
作为指导原则,建议使用每个支持的 Erlang/OTP 系列的最新次要版本和补丁版本。
配置最新的 Erlang 版本
最新版本可以从多个来源获得
- 来自 Team RabbitMQ 在 Cloudsmith 及其镜像或 Launchpad 上的 Debian Erlang 软件包
- 来自 Team RabbitMQ 的零依赖 Erlang RPM,也可从 Cloudsmith 镜像获得
- 作为 RabbitMQ Docker 镜像的一部分
- Erlang/OTP 版本树为 Windows 提供补丁版本的二进制构建
- Erlang Solutions 软件包仓库
- 使用 kerl 从源代码构建
在 Debian 或 Ubuntu 上安装 Erlang/OTP
标准的 Debian 和 Ubuntu 仓库提供 Erlang/OTP,但它被大量切分并分成数十个软件包。此外,除非系统启用了 backport 仓库,否则版本往往非常旧。有关基本软件包、依赖项和替代 apt 仓库的更多信息,请参阅Debian 和 Ubuntu 安装指南。
在 RHEL、CentOS 和 Fedora 上安装 Erlang/OTP
有多个可用于 Erlang/OTP 的 RPM 软件包。推荐的选择是 RabbitMQ 团队提供的零依赖 Erlang RPM。它密切遵循最新的 Erlang/OTP 补丁发布计划。
有关可用选项的更多信息,请参阅CentOS、RHEL 和 Fedora 安装指南。
集群中的 Erlang 版本
强烈建议在所有集群节点上使用相同的主要 Erlang 版本 (例如 25.x
)。
当节点加入集群时,RabbitMQ 将检查 Erlang 及其分布式库的内部协议版本,如果检测到潜在的不兼容组合,则拒绝集群。
在合理的长时间升级窗口之外,建议所有节点使用完全相同的 Erlang 版本。
从源代码构建 Erlang
如果给定操作系统没有足够新的 Erlang 软件包,则可以从源代码构建 Erlang/OTP。这需要满足 Erlang 构建依赖项的构建环境,例如现代 OpenSSL 版本。
kerl 使从源代码构建 Erlang/OTP 版本(包括来自 GitHub 的特定标签)变得更加愉快。
较旧的 RabbitMQ 和 Erlang 版本
不支持的 RabbitMQ 系列
不支持的 RabbitMQ 系列 | 最低要求的 Erlang/OTP | 最大支持的 Erlang/OTP | 注释 |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
支持 R16B03 的最后一个版本
如果您绝对必须使用旧版本的 Erlang,则 RabbitMQ 3.6.14 是与 R16B03 兼容的最新版本。
支持 R13B03 的最后一个版本
如果您绝对必须使用旧版本的 Erlang,RabbitMQ 3.5.8 是与 R13B03 兼容的最新版本。