问题标签 [librdkafka]

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 投票
1 回答
393 浏览

c - 如何获取 Kafka 主题分区的最后偏移量?

我正在使用 C 库 ( librdkafka) 来编写 Kafka 消费者。我需要知道给定主题的分区的最后偏移量(以及滞后)。我知道使用 Python 是可能的(来自 Stackoverflow 上的类似帖子),但我没有找到在 C 中实现它的方法......谢谢。

0 投票
0 回答
476 浏览

node.js - nodeJs 中的 Apache Kafka Exactly-Once 实现

我刚开始学习 Apache Kafka。我正在使用 nodejs 和 node-rdkafka。为了使用Kafka的Exactly-Once特性,我只看到java代码,但是找不到用nodeJs实现的方法。可以这样做吗,如果可以,怎么做?

0 投票
1 回答
482 浏览

c - librdkafka 生产者从函数中获取消息并在主题上生成它

对于 Kafka 来说相对较新,我在实现 Kafka Producer 时遇到了麻烦,它接收message来自函数的输入并根据定义的主题进一步生成它。但困难在于,将其发布在该主题上需要很多时间。如果我尝试更改它的配置,它要么会跳过一些消息,要么会减慢在主题上生成消息的速度。我将在下面发布我的生产者代码,如果有人可以帮助我完成它,我将非常感激,因为我不知道我错在哪里。

代码:-

0 投票
2 回答
6223 浏览

node.js - 无法安装 npm 包(kafka-streams)

我正在尝试使用 npm 包kafka-streams但出现以下错误:

尝试了几件事:
1.安装了 windows-build-tools
2.安装了 python (2.7.16)
3.更新了节点 (v12.7.0)
4.安装了 Visual C++ 构建工具。

正如 Matt 所建议的,我也安装了 Visual C++ Build 工具。现在我遇到以下错误:

更新:1
最后,我已经能够成功构建 node-gyp:

但是仍然在尝试安装 kafka-stream 时出现以下错误

似乎 Kafka-streams 它试图使用 node-gyp 版本(v3.8.0),但我有

有什么办法可以让 kafka-streams 使用 node-gyp 版本(v5.0.3)

更新:2

做了一些更改,现在当我运行npm i kafka-streams它时,现在尝试获取 node-gyp v5.0.3。仍然失败:

0 投票
0 回答
309 浏览

php - 如何在 php 中设置连续的 kafka 消费者,而不会出现连接超时

我正在使用以下代码从 kafka 读取消息。但是要设置消费者,我必须给出连接超时。就我而言,我想要一个持续阅读的消费者,我无法设置连接超时,因为有时它可能不会从很长时间内收到任何消息。我如何处理它。

0 投票
1 回答
1450 浏览

c++ - CMake 找不到 librdkafka

我正在尝试在使用 CMake 构建的项目中使用 Kafka。

我安装了 librdkafka-dev(版本 0.8.6-1.1)。

我还尝试从 Git 下载项目并手动构建它,这似乎是成功的。

我注意到 librdkafka/packaging/cmake 中有一个 README.md 文件,并按照它的说明,在目录中成功创建了 librdkafka 的 CMake 构建。

在我的项目中运行“cmake”命令会导致以下错误:

librdkafka 可能只是在 CMakeLists.txt 文件中查找 rdkafka 的错误包名称,但我还没有找到如何在不使用 Cppkafka 包装器的情况下将其添加到 CMake。

所以我尝试下载和构建 Cppkafka(cmake ..在其目录的文件夹内运行),它导致以下错误:

感谢您的任何帮助!

0 投票
0 回答
624 浏览

apache-kafka - 如何提高 kafka 消费者性能 PHP/RDKafka

我正在使用 php rdkafka 和高级消费方法来消费来自 kafka 的消息,如此处所述https://arnaud.le-blanc.net/php-rdkafka/phpdoc/rdkafka.examples-high-level-consumer.html

我遇到的问题是我必须等待大约 3 秒左右的消息才能被消费者读取,主题有 20 个分区并且同一组中有 10 个消费者,即使只有 1 个消费者也需要 3 秒才能从 kafka 读取消息

0 投票
1 回答
36 浏览

apache-kafka - Librdkafka:崩溃时发布的处置

考虑这个事件循环:

  1. 虽然更多消息
  2. msg_in = consumer.Poll()
  3. msg_out = 转换(msg_in)
  4. service.Publish(msg_out)

假设一个分区并专注于第四行。当此循环崩溃时,表示有 5 条消息按 1、2、3、4、5 的顺序发送到 Kafka。而这些卡夫卡只有 N<=5。休息丢失。

如果没有重试,我们能说什么?卡夫卡得到 1 或 1,2 或 1,2,3 或 1,2,3,4 或 1,2,3,4,5?Kafka 确实保证每个分区的排序。

如果有重试当然会丢失排序,并且 Kafka 可能会得到任何排列 P,而不是它确实得到的 m 从 m = 0 到 N。这是可以理解的。

我正在使用来自 confluent 的 rdkafka 的 golang 包装,但让我们只关注 rdkafka 本身。

0 投票
0 回答
292 浏览

go - 解释 GetMetadata 参数

作为函数的文档GetMetaData

所以我猜如果主题不是零,结果总是只返回特定的主题信息。但是,当我尝试测试时,我看到了非常奇怪的结果。

假设我已经有一个 Kafka 主题。然后我将该方法GetMetadata称为以下代码:

admin.GetMetadata(&topic, false, timeout)返回主题信息。所有其他情况都返回所有主题信息。

但是,当测试集群中不存在的主题时,只有调用admin.GetMetadata(&topic, false, timeout)会产生错误。

重新排序代码时,结果也会发生变化。

我阅读了源代码,发现它使用了一些函数,librdkafka例如rd_kafka_metadataor _getMetadata_broker_element。但是我很难理解这些功能。

我用 3 个代理在 Kafka 集群上进行了测试。请为我解释背后的逻辑是什么。

0 投票
1 回答
2306 浏览

go - 无法读取显示对“rd_kafka_header_get_all”的未定义引用的 librdkafka 文件

我正在尝试设置我的项目并尝试构建或尝试运行,但每次它都显示此错误未定义引用。到目前为止,我学到的东西我的代码无法读取 librdkafka 的文件。

我尝试更改安装这些工具或库的位置,尝试更改它们的版本,但未能成功解决。

这些是安装库的位置。

这是我的项目所在的位置。

这是即将到来的错误

我在这里先向您的帮助表示感谢。