我正在为我的Django项目使用django-celery。昨天我更改了计算机的主机名(我正在使用Ubuntu 12.04,编辑了文件“/etc/hostname”),在下一次重启后,django-celery失败并显示错误。
Consumer: Connection Error: [Errno 111] Connection refused. Trying again in 4 seconds...
经过对这个错误的一些研究,我发现更改我的主机名导致了这个错误,来源于这里。我的rabbitmq启动日志显示:
文件:/var/log/rabbitmq/startup_log
Activating RabbitMQ plugins ...
********************************************************************************
********************************************************************************
0 plugins activated:
ERROR: epmd error for host "jinesh": nxdomain (non-existing domain)
我的startup_err文件是空的。
当我运行时
root@jinesh:/home/jinesh# rabbitmqctl list_users
Listing users ...
Error: unable to connect to node rabbit@jinesh: nodedown
DIAGNOSTICS
===========
nodes in question: [rabbit@jinesh]
hosts, their running nodes and ports:
- unable to connect to epmd on jinesh: nxdomain
current node details:
- node name: rabbitmqctl4956@jinesh
- home dir: /var/lib/rabbitmq
- cookie hash: RGhmB2JR1LbZ57j7xWWTxg==
我希望更改节点名称可以解决这个问题,但是我找不到实现它的方法。有人知道如何解决这个问题吗?
更新
当更改主机名时,您必须同时更改/etc/hostname
和/etc/hosts
文件。
我重新安装了rabbitmq并解决了这个问题,将回答这个问题。
rabbitmqctl status
收到错误消息“无法连接到epmd”。解决方法与此问题的@RichardHFung所接受的答案相同。 - Trevor Boyd Smith