rabbit-mq服务器出错

时间:2014-04-16 10:28:43

标签: rabbitmq openstack dpkg devstack

我正在尝试使用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

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

7 个答案:

答案 0 :(得分:13)

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

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

    yoursite
    
    1. 运行sudo nano /etc/hosts
    2. 文件包含:

      127.0.0.1 yoursite
      

      从cat / etc / hostname看,hostname与/ etc / hosts中的相同:

      1. 运行sudo rabbitmq-server start以启动rabbitmq-server

答案 1 :(得分:3)

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

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

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

服务rabbitmq-server restart

使用" rabbitmqctl status"

检查rabbitmq的状态

答案 2 :(得分:1)

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

  

echo" 127.0.0.1 $(hostname -s)" | sudo tee -a / etc / hosts

答案 3 :(得分:1)

这种方式对我有用。 首先去

sudo vim /etc/hosts

并设置

127.0.0.1 <hostname>

然后打开防火墙

sudo rabbitmq-plugins enable rabbitmq_management
sudo service rabbitmq-server restart

答案 4 :(得分:0)

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

运行命令pf -ef | grep rabbitmq,杀死所有rabbitmq进程。然后运行./stack.sh

就可以了

强烈建议您在./unstack.sh && ./clean.sh

之前运行./stack.sh

答案 5 :(得分:0)

为了确保,请查看您的本地网络

ip add

如果没有lo网络,则应启用它:

ifconfig lo up

然后重新启动服务器,让他们看看它现在是否可以再次使用

systemctl start rabbitmq-server

答案 6 :(得分: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