Debian上RabbitMQ从3.8.2升级到3.8.6——如何安装最新版本?
我正在尝试将Azure中通过Bitnami(运行Debian 9 Stretch)创建的两个Linux虚拟机集群上的RabbitMQ从版本3.8.2升级到最新版本3.8.6。根据,我可以通过停止其中一个节点,在其上安装最新版本,重新启动该节点,然后在另一个节点上执行相同的操作来执行滚动升级。这些机器运行的是Erlang 22,RabbitMQ表示该版本与3.8.6版本兼容:Debian上RabbitMQ从3.8.2升级到3.8.6——如何安装最新版本?,rabbitmq,Rabbitmq,我正在尝试将Azure中通过Bitnami(运行Debian 9 Stretch)创建的两个Linux虚拟机集群上的RabbitMQ从版本3.8.2升级到最新版本3.8.6。根据,我可以通过停止其中一个节点,在其上安装最新版本,重新启动该节点,然后在另一个节点上执行相同的操作来执行滚动升级。这些机器运行的是Erlang 22,RabbitMQ表示该版本与3.8.6版本兼容: bitnami@AI-RabbitMQ-02:~$ erl -eval 'erlang:display(erlang:s
bitnami@AI-RabbitMQ-02:~$ erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
"22"
按照以下步骤,我已成功安装了存储库,并具有以下输出:
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
手动安装,但我不确定如何处理包依赖关系,因为Rabbit页面上的链接显示了该步骤。任何升级方面的帮助都将不胜感激。多谢各位 我有Erlang 23和RabbitMQ服务器3.8.2(它们不完全兼容,所以我决定将RabbitMQ服务器升级到3.8.9,因为我在运行应用程序时遇到一些问题)
我有一个集群,在Ubuntu20.04的AWS EC2实例上有一个节点(未配置,但正如RabbitMQ通过插件建议的那样正确-我计划稍后再做)
我所做的和它对我有用(以下命令在sudo
或rootsudo-su
下执行):
关闭
很重要,不仅仅是停止应用程序
,因为Erlang也需要停止,停止应用程序
只会停止RabbitMQ服务器离开Erlang,之后启动新版本的RabbitMQ服务器时可能会出错-因为端口25672正忙于另一个应用程序:
rabbitmqctl关闭
vim/etc/apt/preferences.d/rabbitmq
apt get-y安装socat logrotate init系统帮助程序adduser
apt get-y安装wget
wgethttps://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server_3.8.9-1_all.deb
dpkg-i rabbitmq-server_3.8.9-1_all.deb
rm rabbitmq-server_3.8.9-1_all.deb
服务rabbitmq服务器停止
服务rabbitmq服务器重启
rabbitmq服务器状态
lsof-i:25672
rabbitmqctl启动应用程序
rabbitmqctl状态
您应该会看到升级的RabbitMQ服务器版本(在我的例子中是3.8.9)以及最新的Erlang版本(在我的例子中是23)谢谢!最后,我将端点更改为通过Bitnami创建的一组新创建的VM,然后在切换完成后删除旧版本3.8.2的VM。由于通过Bitnami新创建的机器版本为3.8.9,因此设置已“更新”。然而,这意味着这些机器将需要再次删除以在将来进行更新,因此我肯定会尝试您在此详述的更新步骤。我非常感谢你的帮助!