7

我正在尝试使用 devstack 在 Ubuntu 12.04 上设置 OpenStack。现在,我得到的错误是:

Setting up rabbitmq-server (2.7.1-0ubuntu4) ...
Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}
rabbitmq-server.
invoke-rc.d: initscript rabbitmq-server, action "start" failed.
dpkg: error processing rabbitmq-server (--configure):
 subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Errors were encountered while processing:
 rabbitmq-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
++ err_trap
++ local r=100
++ set +o xtrace
stack.sh failed

知道为什么我会收到此错误吗?

4

7 回答 7

19

当主机文件中的主机名或 IP 地址不匹配时,我两次遇到此问题。因此,请检查您是否在 /etc/hosts 文件中提供了正确的 IP 地址和主机名

  1. 运行sudo cat /etc/hostname以查看您的主机名

输出:

yoursite
  1. sudo nano /etc/hosts

文件包含:

127.0.0.1 yoursite

正如您从 cat /etc/hostname 中看到的,主机名与 /etc/hosts 中的主机名相同:

  1. 运行sudo rabbitmq-server start启动rabbitmq-server
于 2015-02-18T19:05:44.967 回答
3

尝试删除文件夹 /var/lib/rabbitmq 并重新运行 ./stack.sh

如果这也不起作用,请在 stach.sh 失败后运行以下命令:

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

服务rabbitmq-服务器重启

并使用“rabbitmqctl status”检查rabbitmq的状态

于 2014-08-06T18:46:29.370 回答
3

类似的事情发生在我身上。Rabbit 依赖于能够解析主机名,运行以下命令:

回声“127.0.0.1 $(主机名-s)”| sudo tee -a /etc/hosts

于 2016-11-03T15:51:00.967 回答
2

这种方式对我有用。先去

sudo vim /etc/hosts

并设置

127.0.0.1 <hostname>

然后打开防火墙

sudo rabbitmq-plugins enable rabbitmq_management
sudo service rabbitmq-server restart
于 2019-09-10T12:03:14.233 回答
0

只是为了确定,看看你的本地网络

ip add

如果没有lo网络,那么您应该启用它:

ifconfig lo up

然后再次重新启动服务器,让我们看看它现在是否再次工作

systemctl start rabbitmq-server
于 2017-08-05T18:26:39.303 回答
0

对于一个干净的环境,这不会发生。您必须多次运行 devstack,其中一次失败,但您没有清理干净。

运行命令pf -ef | grep rabbitmq,杀死所有rabbitmq进程。那么就可以运行了./stack.sh

强烈建议./unstack.sh && ./clean.sh之前运行./stack.sh

于 2015-11-16T11:46:51.303 回答
0

尽管我的/etc/hosts和 DNS 都正常,但我遇到了同样的问题。我怀疑 SystemV 初始化脚本在网络尚未准备好时启动得太早。我在 CentOS 7.8 上重写了启动脚本,systemd现在它似乎运行良好。

[Unit]
Description=RabbitMQ
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
RuntimeDirectory=rabbitmq
PrivateTmp=true
Restart=on-failure
RestartSec=10

WorkingDirectory=/opt/data/rabbitmq/
User=rabbitmq
Group=rabbitmq

ExecStart=/opt/app/rabbitmq/default/sbin/rabbitmq-server
ExecStop=/opt/app/rabbitmq/default/sbin/rabbitmqctl stop
ExecStop=/bin/sh -c "while ps -p $MAINPID >/dev/null 2>&1; do sleep 1; done"

StandardOutput=journal
StandardError=inherit

[Install]
WantedBy=multi-user.target
于 2020-07-23T14:15:06.193 回答