问题标签 [apache-kafka]
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.
message-queue - Kafka 0.8 生产者,使用“request.required.acks”属性
从0.8生产者配置下的文档属性request.required.acks
值控制何时
producer receives an acknowledgement
来自经纪人。典型值为
(1) 0,表示生产者从不等待经纪人的确认
(2) 1,表示
producer gets an acknowledgement
leader副本收到数据后(3) -1,表示
producer gets an acknowledgement
所有同步的副本都接收到数据之后
当request.required.acks
值为1
. 作为producer.send(MessageKey)
一个 void 我找不到任何选项来检索它。
java - Kafka:无法创建多个流消费者
我刚刚启动并运行 Kafka 0.8 beta 1。我有一个非常简单的例子启动并运行,问题是,我只能让一个消息使用者工作,而不是几个。也就是说,runSingleWorker() 方法有效。run() 方法不起作用:
在我的玩具消费者内部:
问题是,工人池不接收消息:
当我通过生产命令行添加消息时,消息在单线程worker版本下打印,但在多流情况下不打印消息。这里发生了什么?我怎样才能解决这个问题?
顺便说一句,kafka 0.8 的 pom.xml 不是有效的 pom,不会获取依赖项,所以这里是一个具有完整依赖项的 pom。
queue - 简单拉取消息队列
我正在努力为这项工作找到合适的工具。我已经探索了一些不同的消息队列,例如 Kafka、Kestrel 等……并且我正在寻找具有 PULL 功能的东西。
我有一个将传入消息推入队列的 API(分布式)。然后我会让工作人员(单独的机器)从队列中提取消息。这确保了工作人员不会被淹没并且无法处理队列的负载。
我想知道 Kafka 或 Kestrel 是否支持这种类型的功能
apache-kafka - Apache Kafka - 消费者没有收到来自生产者的消息
我会很感激你在这方面的帮助。
我正在构建一个 Apache Kafka 消费者来订阅另一个已经在运行的 Kafka。现在,我的问题是,当我的生产者将消息推送到服务器时......我的消费者没有收到它们......并且我在打印的日志中得到以下信息::
我不确定我是否在这里遗漏了任何重要的配置......但是,我可以看到一些来自我的服务器使用 WireShark 的消息,但它们没有被我的消费者消费......
我的代码是示例消费者示例的精确副本: https ://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example
更新:
apache-kafka - Kafka 队列中的消息排序以获取无序消息
我们正在研究一种情况,即消息从 Kafka 队列中的源系统以无序的时间生成。
我们想对 Kafka 队列中的消息进行排序,或者想使用任何其他方法,以便 Kafka 消费者可以消费时间排序的消息,而不会影响太多的实时性。
只是为了提供信息,我们正在使用 Storm-Kafka 0.8 集成,因此无论如何都可以使用 Storm 处理它。
任何帮助或指导将不胜感激。
message-queue - 在 kafka 消息有效负载中添加时间戳
有什么方法可以在 Kafka 消息有效负载中添加时间戳标头?我想检查消息何时在消费者端创建并基于此应用自定义逻辑。
编辑:
我正在尝试找到一种将一些自定义值(基本上是时间戳)附加到生产者发布的消息的方法,以便我可以在特定时间段内使用消息。现在 Kafka 只确保消息按照放入队列的顺序传递。但在我的情况下,先前生成的记录可能会在一定延迟后到达(因此在时间 T1 生成的消息可能具有比在稍后时间 T2 生成的偏移量为 0 的消息更高的偏移量 1)。出于这个原因,它们不会按照我在消费者端的预期顺序。所以我基本上是在寻找一种方式来以有序的方式消费它们。
当前的 Kafka 0.8 版本除了在生产者端附加“消息密钥”之外没有其他方法,在这里找到了一个类似的主题,建议在消息有效负载中对其进行编码。但是我做了很多搜索,但找不到可能的方法。
此外,我不知道这种方法是否对 Kafka 的整体性能有任何影响,因为它在内部管理消息偏移量,并且从这个页面中可以看出,目前还没有公开这样的 API
如果我的想法完全正确,或者有任何可能的方法,我真的很感激任何线索,我都准备试一试
node.js - 使用 Apache Kafka 进行日志聚合
我正在从他们的快速入门教程中学习 Apache Kafka:http: //kafka.apache.org/documentation.html#quickstart。到目前为止,我已经完成了如下设置。一个生产者节点,其中一个 Web 服务器在端口 8888 上运行。另一个节点上的 Kafka 服务器(代理)、消费者和 Zookeeper 实例。我已经用 3 个分区测试了默认的控制台/文件启用的生产者和消费者。设置是完美的,我可以看到我按照他们创建的顺序发送的消息(在每个分区中)。
现在,我想将从 Web 服务器生成的日志发送到 Kafka Broker。这些消息将由消费者稍后处理。目前我正在使用 syslog-ng 将服务器日志捕获到文本文件中。关于如何实现生产者使用kafka进行日志聚合,我想出了3个粗略的想法
Producer Implementations
First Kind:
监听 syslog-ng 的 tcp 端口。获取每条消息并发送到 kafka 服务器。这里我们有两个中间进程:Producer 和 syslog-ng
第二类:使用 syslog-ng 作为 Producer。应该找到一种将消息发送到 Kafka 服务器而不是写入文件的方法。syslog-ng,生产者是中间进程。
第三种:将网络服务器本身配置为生产者。
我的想法是否正确。在最后一种情况下,我们没有任何中间过程。但我怀疑它的实现会影响服务器性能。谁能告诉我使用 Apache Kafka 的最佳方法(如果上述 3 种不好)并指导我进行适当的服务器配置?..
PS:我正在为我的网络服务器使用 node.js
谢谢,
萨拉特
apache-storm - 从 Kafka 检索主题并发送到相应的 spout 和 bolt
我正在为 Kafka 制作多个主题。我想从 Kafka 中检索所有主题,并且我有不同的 spout 和 bolts。我想将每个主题发送到相应的 spout 和关联的 bolt(例如,对于 topic1,我有相应的 spout1 和 bolt1,对于 topic2,我有相应的spout2 和 bolt2 等等..)
我该怎么做?
apache-kafka - 多个经纪人 Kafka 0.7
我正在尝试使用 Kafka 0.7.2 启动多个代理。我收到以下错误:
我为这两个代理创建了两个不同的配置文件,并使用以下命令运行它:
我对 0.8 做了同样的事情,而且效果很好。我在这里错过了什么吗?