问题标签 [rabbitmqctl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
185113 浏览

rabbitmq - 是否可以直接从命令行查看 RabbitMQ 消息内容?

是否可以直接从命令行查看 RabbitMQ 消息内容?

sudo rabbitmqctl list_queues列出队列。

有没有类似的命令sudo rabbitmqctl list_queue_messages <queue_name>

0 投票
24 回答
163548 浏览

rabbitmq - 从 RabbitMQ 中删除所有队列?

我安装rabbitmqadmin并能够列出所有的交换和队列。如何使用rabbitmqadminrabbitmqctl删除所有队列。

0 投票
5 回答
18543 浏览

rabbitmq - 如何使用rabbitmqctl连接docker容器中的rabbitmqserver?

我使用 docker 来启动我的 rabbitmqserver。如何使用 rabbitmqctl 连接到 docker 容器中的 rabbitmqserver?

端口 5672 已暴露并映射到我主机的 5672 端口。但我仍然收到以下错误:

0 投票
4 回答
48284 浏览

windows - rabbitmqctl 错误:无法连接到节点 rabbit@myserver nodedown

我在 Windows 2008 R2 上运行带有 Erlang OTP 17.1 的 RabbitMQ v3.3.5。我的 Dev 和 QA 环境是独立的。我的登台和生产环境是集群的。

我发现这个问题经常发生在运行 RabbitMQ 服务的地方,RabbitMQ 管理控制台可以看到所有内容,但是当我尝试从命令行运行 rabbitmqctl 时,它失败并出现错误,提示节点已关闭(在本地和远程服务器)。

如果我重新启动 Windows 服务,此问题将得到解决。

我在 RabbitMQ 错误日志中没有看到任何错误消息。最后一条消息表明节点已启动。

以下是我最近在暂存 Windows 集群的节点 2 上遇到的问题的示例输出:

此时我重新启动 RabbitMQ 服务,然后再试一次

关于导致这种情况的原因以及如何自动检测这种情况的任何想法?

这是在 Windows 上运行 RabbitMQ 的具体问题吗?

0 投票
2 回答
1577 浏览

rabbitmq - 更改rabbitmqctl的端口

您可以为rabbitmqctl指定一个节点,但不能指定一个端口。在 Ubuntu 上,通过包获取rabbitmqctl的唯一方法是安装完整的服务器。关于将端口传递给rabbitmqctl的可操作 Google 搜索结果为零。

这是否意味着rabbitmqctl只能从服务器运行?

0 投票
3 回答
21170 浏览

rabbitmq - RabbitMQ 从终端声明交换 - 拒绝访问:/api/exchanges/

我正在使用 rabbitmq 为我正在处理的企业应用程序处理我的数据库之间的消息。作为该过程的一部分,我正在尝试帮助自动化服务器的设置(例如编写脚本)。在这个过程中,我尝试使用rabbitmqadmin从命令提示符声明交换。我有 2 台不同的服务器正在运行CentOS 5.xCentOS 6.x并且两者都有相同的问题。

到目前为止,我声明了一个管理员用户并设置了它的密码,然后我将它的标签设置为管理员标签,然后我确保它具有对虚拟主机的权限。之后,我尝试使用指定的用户名和密码声明交换,但它失败了。

对于 CentOS 5.x 框,我必须使用python26 rabbitmqadmin而不是 just rabbitmqadmin,但得到相同的结果。

最后一条命令导致:

我的 CentOS 5.x 和 Cent 6.x 机器都运行 rabbitmq 3.3.5。关于我遗漏的任何想法或关于如何获得更多错误信息的想法(例如错误日志文件或获得更详细输出的方法)?

0 投票
1 回答
535 浏览

rabbitmq - 如何确定我的 rabbitmq 集群中的哪些节点是 HA?

我有一个集群 HA rabbitmq 设置。我正在使用类似于以下的“完全”策略:

我有 30 台机器在运行,其中 10 台是复制队列的 HA 节点。当我的代理出现故障(随机分配为第一个 HA 节点)时,我需要我的 celery 工作人员指向一个新的 HA 节点(剩下的 9 个节点之一)。我有一个自动执行此操作的脚本。问题是:我不知道如何区分常规集群节点和HA节点。当我发出命令时:

我得到的类别是“运行节点”、“磁盘”和“内存”。但是这里没有办法判断一个节点是否是 HA。

有任何想法吗?

0 投票
2 回答
866 浏览

rabbitmq - 知道任务在 RabbitMQ 中的位置

我打算将 RabbitMQ 用于一个项目,在该项目中,我需要在队列中每隔几秒就知道我的任务的位置。

假设我使用它来生成报告,如果有一个队列,那么我想在任务实际开始之前向用户显示他在队列中的位置。

这是我可以通过 RabbitMQ 实现的吗?

0 投票
1 回答
6725 浏览

rabbitmq - 如何读取 RabbitMQ 未确认消息 / RabbitMQ 循环

我想读取 RabbitMQ 队列中未确认消息的有效负载或 messageId。这可能吗?

我想这样做的原因是我试图使用 RabbitMQ 死信功能来建立一个循环来定期自动生成消息。简而言之,创建两个队列——工作队列和延迟队列。

  1. 将延迟队列中消息的TTL设置为需要周期性的时间频率。对于不同的工作目的,可以有不同的 TTL 不同的消息;
  2. 将消息放入延迟队列。当消息过期时,它会重新发布到工作队列中。只要需要,消息就可以留在工作队列中,直到消费者准备好使用它。
  3. 一位消费者拿起消息并处理它。如果处理成功,消费者需要确认工作队列,然后将消息写回延迟队列;如果处理失败(例如,线程崩溃),则没有确认。然后消息将自动重新出现在工作队列中。然后另一个消费者可以接手这项工作。当发送回延迟队列的消息再次过期时,它会被重新发布,然后被消费者重新消费……一个循环构建,工作负载分配。

我想确保循环中没有丢失或重复的消息,因为我不想错过工作或同时做双重工作。但是,发生重复消息的可能性很小。下面展示了消费者首先将消息写回延迟队列,并确认工作队列。如果线程在两行以下之间崩溃,则消息将在延迟队列中,并且 Rabbit 再次将消息重新发布到工作队列中。最终在循环中出现重复的消息。

为了防止上述情况,我想在上面两行之后添加一个看狗逻辑:

  1. 检查循环中的消息总数(两个队列中的消息总数),看是否等于我的预期数量(我预期的数量减去 10);

  2. 如果数字不匹配,我想弄清楚哪个是丢失的,哪个是重复的,然后处理它。我不关心这些消息的顺序,或者频率受到干扰,因为这是一个非常需要考虑的边缘情况。我可以轻松地检索那些准备好的消息并将它们重新排队。但问题是如何处理那些未确认的消息?

非常感谢您!

罗伊

0 投票
5 回答
4828 浏览

rabbitmq - 如何解析rabbitmq状态输出?

我在 Linux 上安装了 RabbitMQ,它是一款很棒的软件。

当我运行这个命令时:

我得到一团糟的输出:

它看起来像 JSON,但事实并非如此。

这是什么数据格式?你是怎么发现的?

我能找到的最接近的是:http ://erlang.org/doc/man/yecc.html