0

您如何设置 celery(和 rabbit)以便它们可以通过 EC2 实例进行通信?

Rabbit 在用户 rabbitmq 上的实例上运行。我需要从实例之外的其他计算机向实例发送消息,在这种情况下,我正在使用计算机进行测试。

我已经将 celery 配置为在本地安装 rabbit 的计算机上工作。

此外,我遵循这些设置来生成咒语:

http://docs.celeryq.org/en/latest/configuration.html#broker-settings

这是一个红帽实例。

4

2 回答 2

0

这里的问题是兔子不接受 EC2 实例上的消息。

要确定这是否是您的错误,请在 rabbit@rabbit.log(位于 /var/log/rabbbitmq)启动/重新启动 rabbit 后查看日志,您应该会看到类似以下的错误:

=INFO REPORT==== 18-Jun-2012::21:41:05 ===
Disk free space limit now exceeded. Free bytes:5404372992 Limit:7836254208

要更正此问题,您需要将 /etc/rabbitmq/rabbitmq.config 中的值更改为:

[{rabbit, [{disk_free_limit, {mem_relative, 0.5}}]}].

请注意,句号最后很重要。

mem_relative 的实际值需要根据您的需要和实际拥有的内存量进行调整。

于 2012-06-19T16:18:35.683 回答
0

确保您的 EC2 安全组规则包含正确的端口,例如:

22 tcp 0.0.0.0/0
5672 tcp 0.0.0.0/0
11211 tcp 0.0.0.0/0
55672 tcp 0.0.0.0/0

于 2012-10-26T14:33:06.233 回答