【问题标题】:rabbitmqadmin socket.error: [errno 104] connection reset by peerrabbitmqadmin socket.error: [errno 104] 连接被对等方重置
【发布时间】:2015-01-09 13:09:36
【问题描述】:

我在 Linux 机器上安装了 Rabbitmq 3.4,它在5672 端口上运行。 当我尝试声明交换时,它会提示我错误。

 ./rabbitmqadmin declare exchange --vhost=localhost name=SAMPLE_EXCHANGE type=direct

使用,用于 rabbitmqadmin 的 python 脚本,位于/usr/local/bin/

错误--

Traceback (most recent call last):
  File "/usr/local/bin/rabbitmqadmin", line 953, in <module>
    main()
  File "/usr/local/bin/rabbitmqadmin", line 389, in main
    method()
  File "/usr/local/bin/rabbitmqadmin", line 569, in invoke_declare
    self.put(uri, json.dumps(upload))
  File "/usr/local/bin/rabbitmqadmin", line 415, in put
    return self.http("PUT", "/api%s" % path, body)
  File "/usr/local/bin/rabbitmqadmin", line 441, in http
    resp = conn.getresponse()
  File "/usr/lib64/python2.6/httplib.py", line 990, in getresponse
    response.begin()
  File "/usr/lib64/python2.6/httplib.py", line 391, in begin
    version, status, reason = self._read_status()
  File "/usr/lib64/python2.6/httplib.py", line 349, in _read_status
    line = self.fp.readline()
  File "/usr/lib64/python2.6/socket.py", line 433, in readline
    data = recv(1)
socket.error: [Errno 104] Connection reset by peer

帮我解决这个错误,如果需要会提供更多信息。

【问题讨论】:

  • 您的机器上有虚拟主机localhost 吗?通常 RabbitMQ 上的默认 vhost 称为/
  • 嗨,感谢您的回复。它不存在,我添加了以下命令rabbitmqctl add_vhost test,但同样的错误仍然存​​在!
  • 关于您使用虚拟主机localhost 而不是test 的问题的命令:--vhost=localhost;为什么不使用默认虚拟主机?
  • 我只将 localhost 创建为 vhost,例如我将其写为测试。我也尝试了默认主机(没有提及主机)rabbitmqadmin declare exchange name=SAMPLE_EXCHANGE type=direct 但仍然没有运气,同样的错误!
  • 我只是一个类似的问题,并通过查看 /var/log/rabbitmq 中的 rabbitmq 日志(对于 *nix,显然是 :P)成功地找出了问题的根源。不要忘记,在尝试运行命令时,您始终可以使用 tail -f 查看日志文件。

标签: linux command-line rabbitmq amqp rabbitmqadmin


【解决方案1】:

我遇到了同样的问题,但对我来说接下来的步骤是:

使用端口列表运行 rabbit

docker run -d --name rabbitmq -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15672:15672 rabbitmq:3.8.1

并启用rabbitmq_management

docker exec rabbitmq rabbitmq-plugins enable rabbitmq_management

15672:HTTP API 客户端、管理 UI 和 rabbitmqadmin(仅在启用管理插件的情况下)来源:https://www.rabbitmq.com/networking.html#ports

我也使用这个命令来声明交换

rabbitmqadmin -V vhost_name -u rabbit_user -p rabbit_password declare exchange name=test_name type=direct

【讨论】:

    猜你喜欢
    • 2016-03-03
    • 1970-01-01
    • 2014-01-01
    • 2016-10-10
    • 2014-01-04
    • 1970-01-01
    • 2018-05-22
    • 2021-08-27
    • 1970-01-01
    相关资源
    最近更新 更多