【问题标题】:Error with rabbit-mq serverrabbit-mq 服务器出错
【发布时间】:2014-05-31 04:05:54
【问题描述】:

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

知道为什么会出现这个错误吗?

【问题讨论】:

  • 你看过/var/log/rabbitmq/startup_{log, _err}
  • 我做了只是说rabbitmq启动失败!

标签: rabbitmq openstack dpkg devstack


【解决方案1】:

虽然我的/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

【讨论】:

    【解决方案2】:

    这种方式对我有用。 先去

    sudo vim /etc/hosts

    设置

    127.0.0.1 <hostname>

    然后打开防火墙

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

    【讨论】:

      【解决方案3】:

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

      ip add
      

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

      ifconfig lo up
      

      然后重新启动服务器,看看现在是否还能正常工作

      systemctl start rabbitmq-server
      

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

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

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

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

          【讨论】:

            【解决方案6】:

            当主机文件中的主机名或 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

            【讨论】:

            • 在 /etc/hosts 中的第一行是127.0.0.1 localhost。它还需要有127.0.0.1 yoursite 行?对不起我的英语!
            • @EduardoPascualAseff 是的,每一行都是另一个链接,供其他程序参考
            【解决方案7】:

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

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

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

            服务 rabbitmq-server 重启

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

            【讨论】:

              猜你喜欢
              • 2014-04-25
              • 2020-06-09
              • 2011-11-02
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多