我正在尝试将RabbitMQ从3.8.2版本升级到最新版本3.8.6,该集群是通过Azure中的Bitnami创建的两个Linux (运行Debian9Sch)。根据RabbitMQ文档,我可以通过停止其中一个节点,在其上安装最新版本,重新启动该节点,然后在另一个节点上执行相同的操作来进行滚动升级。这些机器使用Erlang 22运行,RabbitMQ状态与3.8.6版本兼容:
bitnami@AI-RabbitMQ-02:~$ erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
"22"在使用PackageCloud安装的文档步骤之后,我成功地安装了存储库,输出如下:
bitnami@AI-RabbitMQ-02:~$ sudo rabbitmqctl stop_app
bitnami@AI-RabbitMQ-02:~$ curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash abbitmq/rabbitmq-server/script.deb.sh | sudo bash
Detected operating system as debian/9.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Running apt-get update... done.
Installing debian-archive-keyring which is needed for installing
apt-transport-https on many Debian systems.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/rabbitmq_rabbitmq-server.list...done.
Importing packagecloud gpg key... done.
Running apt-get update... done.
The repository is setup! You can now install packages.然后,我尝试下一步,安装RabbitMQ,出现以下错误:
bitnami@AI-RabbitMQ-02:~$ sudo apt-get install rabbitmq-server=3.8.6-1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
rabbitmq-server : Depends: erlang-base (>= 1:21.3) but 1:19.2.1+dfsg-2+deb9u3 i s to be installed or
erlang-base-hipe (>= 1:21.3) but it is not going to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-crypto (>= 1:21.3) but 1:19.2.1+dfsg-2+deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-eldap (>= 1:21.3) but 1:19.2.1+dfsg-2+deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-inets (>= 1:21.3) but 1:19.2.1+dfsg-2+deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-mnesia (>= 1:21.3) but 1:19.2.1+dfsg-2+deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-os-mon (>= 1:21.3) but 1:19.2.1+dfsg-2+deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-parsetools (>= 1:21.3) but 1:19.2.1+dfsg-2+de b9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-public-key (>= 1:21.3) but 1:19.2.1+dfsg-2+de b9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-runtime-tools (>= 1:21.3) but 1:19.2.1+dfsg-2 +deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-ssl (>= 1:21.3) but 1:19.2.1+dfsg-2+deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-syntax-tools (>= 1:21.3) but 1:19.2.1+dfsg-2+ deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-tools (>= 1:21.3) but 1:19.2.1+dfsg-2+deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
Depends: erlang-xmerl (>= 1:21.3) but 1:19.2.1+dfsg-2+deb9u3 is to be installed or
esl-erlang (>= 1:21.3) but it is not installable
E: Unable to correct problems, you have held broken packages.我也尝试过使用Bintray选项进行安装,但是没有效果。我也尝试过用dpkg -i手动安装,但我不确定如何处理包依赖关系,因为兔子页面上的链接是用于该步骤的在任何地方都不会。任何对升级的帮助都将不胜感激。非常感谢!
发布于 2020-10-15 22:22:37
我有Erlang23和RabbitMQ Server3.8.2(它们不完全兼容,所以我决定将RabbitMQ服务器升级到3.8.9,因为我在运行应用程序时遇到了一些问题)
在Ubuntu20.04的AWS EC2实例上,我有一个带有一个节点的集群(未按照RabbitMQ的建议通过插件进行正确的配置--我计划稍后再这样做)。
我所做的和它对我的作用(在sudo或根sudo su下执行的命令):
shutdown来说,重要的不仅仅是stop_app,因为Erlang也需要停止,而stop_app只停止RabbitMQ服务器离开Erlang,这可能会在启动新版本的RabbitMQ服务器时给您带来错误--因为端口25672正在忙着处理另一个应用程序:
rabbitmqctl shutdownvim /etc/apt/preferences.d/rabbitmqapt-get -y install socat logrotate init-system-helpers adduserapt-get -y install wgetwget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server_3.8.9-1_all.debdpkg -i rabbitmq-server_3.8.9-1_all.debrm rabbitmq-server_3.8.9-1_all.debservice rabbitmq-server stopservice rabbitmq-server restartrabbitmq-server statuslsof -i :25672rabbitmqctl start_apprabbitmqctl status您应该会看到升级的RabbitMQ服务器版本(在我的示例3.8.9中)以及最新的Erlang版本(在我的示例23中)。
https://stackoverflow.com/questions/63350783
复制相似问题