当我通过以下命令在 synaptic 中安装 rabbitMQ 时
sudo apt-get install rabbitmq-server
它返回一个错误:
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
Errors were encountered while processing:
rabbitmq-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
查看日志,它显示以下内容:
Error: {cannot_connect_to_epmd,"herman-desktop",address}
而 my 的/etc/hosts
定义如下:
127.0.0.1 localhost.localdomain localhost
::1 herman-desktop localhost6.localdomain6 localhost6
127.0.1.1 herman-desktop
我需要做什么来解决这个问题?
答案1
您已将 /etc/hosts 中的“herman-desktop”配置为仅 ipv6 中的本地主机地址,由于 rabbitmq 正在运行 ipv4,因此它将无法连接,编辑 /etc/hosts 并将 herman-desktop(我猜是您的机器名称)添加到 127.0.0.1(ipv4 上的本地主机)的行
此外,除非您的机器上配置了 127.0.1.1,否则它对我来说看起来像一种类型:)
答案2
最好的方法是告诉 rabbitmq 不要查找主机名。您可以使用 rabbitmq 配置文件来做到这一点。
编辑配置,如果不存在则创建
vim /etc/rabbitmq/rabbitmq.conf
vim /etc/rabbitmq/rabbitmq-env.conf (in later versions of RabbitMQ)
添加以下条目:
NODENAME=rabbit@localhost
NODE_IP_ADDRESS=127.0.0.1
答案3
当我在安装 chef-server 时更改主机名时,发生了这种情况。我恢复了旧主机名,终止了正在运行的 rabbitmq 进程,清除了 rabbitmq 包,然后重新运行 chef-server 的 chef-solo 引导程序。