python - celery 节拍 : ACCESS_REFUSED - Login was refused using authentication mechanism AMQPLAIN

标签 python django docker rabbitmq celery

我在 celery-beat 容器上遇到错误。

Celery-Beat 错误日志:

[2018-11-27 12:40:21,139: WARNING/MainProcess] (0, 0): (403) ACCESS_REFUSED - Login was refused using authentication mechanism AMQPLAIN. For details see the broker logfile.
[2018-11-27 12:40:21,241: WARNING/MainProcess] Sentry is attempting to send 1 pending error messages
[2018-11-27 12:40:21,241: WARNING/MainProcess] Waiting up to 10 seconds
[2018-11-27 12:40:21,241: WARNING/MainProcess] Press Ctrl-C to quit
celery beat v4.0.2 (latentcall) is starting.
__    -    ... __   -        _
LocalTime -> 2018-11-27 12:40:19
Configuration ->
    . broker -> amqp://RabbitUser:**@rabbit:5672//
    . loader -> celery.loaders.app.AppLoader
    . scheduler -> celery.beat.PersistentScheduler
    . db -> celerybeat-schedule
    . logfile -> [stderr]@%INFO
    . maxinterval -> 5.00 minutes (300s)

RabbitMq 日志:

=INFO REPORT==== 27-Nov-2018::12:40:19 ===
closing AMQP connection <0.308.0> (192.168.48.3:36552 -> 192.168.48.4:5672)

=INFO REPORT==== 27-Nov-2018::12:40:24 ===
accepting AMQP connection <0.313.0> (192.168.48.2:56664 -> 192.168.48.4:5672)

=ERROR REPORT==== 27-Nov-2018::12:40:24 ===
Error on AMQP connection <0.313.0> (192.168.48.2:56664 -> 192.168.48.4:5672, state: starting):
AMQPLAIN login refused: user 'RabbitUser' - invalid credentials

=INFO REPORT==== 27-Nov-2018::12:40:24 ===
closing AMQP connection <0.313.0> (192.168.48.2:56664 -> 192.168.48.4:5672)

根据日志,是不是鉴权错误?

当我尝试 curl 它成功连接到兔子时:

->curl -i -u RabbitUser:guest http://localhost:5672/api/whoami
  AMQP

我该如何解决这个问题?

最佳答案

我假设您没有使用 vhost rabbit 创建名为 RabbitUser 的 rabbitMQ 用户:

在您的控制台中输入:

rabbitmqctl add_user RabbitUser YOURPASSORDHERE
rabbitmqctl add_vhost rabbit
rabbitmqctl set_user_tags RabbitUser administrator
rabbitmqctl set_permissions -p rabbit RabbitUser ".*" ".*" ".*"
rabbitmqctl delete_user guest

这将使用您想要的密码创建用户 RabbitUser,添加 vhost rabbit,设置您的用户管理员并为您授予 vhost rabbit 的权限

关于python - celery 节拍 : ACCESS_REFUSED - Login was refused using authentication mechanism AMQPLAIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53500587/

相关文章:

python - django - 当指定字段更改时如何自定义模型保存方法

Python:检查嵌套列表是否在嵌套列表中

Python SSL 连接 "EOF occurred in violation of protocol"

docker - 为什么docker登录会在Travis CI上挂起?

docker - 可以在不同版本上重复使用 Docker 标签吗?

python - 如何 Python 从包含分号的配置文件中打印一行?

python - Pandas 中的逐元素异或

Django - 表单 - 自动填充和隐藏外键字段

python - 如何根据字典属性唯一合并字典列表

docker - 无法在docker中构建golang应用程序