- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用kafka 0.9.0.1代理和0.9.0.1消费者客户端。我的消费者实例正在消耗处理时间不到 1 秒的记录。其他主要配置是
enable.auto.commit=false
session.timeout.ms=30000
heartbeat.interval.ms=25000
我在处理后提交偏移量。我遇到了异常
Error UNKNOWN_MEMBER_ID occurred while committing offsets for group kafka_to_s3
ERROR com.bsb.hike.analytics.consumer.Consumer - unable to commit retryCount=2 org.apache.kafka.clients.consumer.CommitFailedException: Commit cannot be completed due to group rebalance
每小时一次或两次。每天消耗约 60 亿个事件。看起来偏移量仅存储在主题“__consumer_offsets”的一个分区中。它还增加了特定代理的负载。
有人知道这些问题吗?
最佳答案
如果 Kafka 在 session 超时内未收到至少一个心跳,则会触发重新平衡。如果触发重新平衡,提交将会失败。这是预期的。那么问题来了,为什么心跳没有发生呢?造成这种情况的原因可能有几个。
首先,您正在执行手动提交。从 0.9 开始,心跳不会在单独的线程中发生。消费者在处理提交、心跳和轮询的单个线程上运行。因此,当您执行 Consumer.poll() 或 Consumer.commit() 时,就会发生心跳。因此,如果您的处理时间超过 session 超时,则可能会导致心跳失败。
kafka 0.9 Consumer 中存在一个已知问题,可能会导致您遇到问题。
https://issues.apache.org/jira/browse/KAFKA-3627
无论哪种情况,将您的消费者降级到 0.8 都可以解决问题。
编辑:您可以尝试将 session 时间增加到 5 分钟,看看是否有效。
关于kafka配置
Kafka 服务器期望在 session 超时内至少收到一个心跳。因此,消费者最多尝试进行一次心跳( session 超时/心跳次数)。可能会错过一些心跳。所以你的心跳时间不应超过 session 超时的 1/3。 (可以引用文档)
关于apache-kafka - 提交失败异常 : Commit cannot be completed due to group rebalance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39745733/
我有一个返回 future 的函数,该函数取决于要解决的回调结果: Future connectSocket(String email, String password, {Function o
我正在尝试链接两个返回 Completable 的响应式调用在 android 上使用改造: val userRequest = ... val languageRequest = ... retur
我正在尝试将一些数据保存在数据库中。对于添加方法,我使用 Completable。在我保存一个实体 - 客户之后,我想保存一个天数列表,但只有在客户被保存之后。这是我现在的代码。 mDatabaseM
我是 RxJava 的新手,遇到了以下问题: 我有两个 Completable 对象来存储一些数据。我想触发第一个,然后仅在第一个成功完成后才启动第二个。对第二个 Completable 的调用应该被
我正在尝试从两个不同的文件中读取数据,一个是 csv 格式,另一个文件是 xml 数据。使用completeFuture 我正在尝试从两个文件异步读取数据。我收到类型转换错误。请让我知道我是否遵循正确
我有以下人员类别: class Person { String name; String city; public void setInfo(PersonInformation
我正在尝试这个: var notifications = $( "#notifications" ); notifications.fadeOut("slow") .complete(func
我发现 Bash shell 支持一种不同于“传统”自动完成的自动完成类型,所有可能性都列在下一行。 使用“传统的”自动完成,如果我键入 ch 然后按 Tab 键,我会得到如下信息: $ ch cha
我是 rxjava/rxkotlin/rxandroid 的初学者。 我需要按顺序处理三个不同的异步调用。问题是第一步返回 Single ,第二个Completable第三个又是Completable
默认情况下,在 TextMate 中按 Esc 会循环执行可能的补全(除了关闭对话框之外),这可能会在文档中放入不需要的字符,特别是如果您习惯于在大多数文本编辑器中使用 Esc 作为安全键的话。 (事
我知道 pull complete 在之后到达 download complete 在生命周期中,但我有兴趣了解它们之间的区别。我尝试在互联网上搜索,但找不到任何清楚解释这些差异的内容。 最佳答案 拉
以下代码似乎永远不会工作,因为组似乎没有终止,并且 takeLast() 不知道最后是什么: observableSequence .groupBy { $0.key } .map { gro
我是 ido-mode 的忠实粉丝,以至于我想用它来做 describe-function 之类的事情或 find-tag等等,而无需编写类似“我可以在 Emacs 中搜索标签的 ido-mode-s
我们什么时候应该使用 Completable.fromAction()我们什么时候应该使用 Completable.fromCallable()是否有特定的用例 从文档看来,两者都做同样的事情,很难注
我有以下gulpfile.js,我通过命令行执行gulp消息: var gulp = require('gulp'); gulp.task('message', function() { cons
我在我的 .vimrc 文件中设置了 omnifuc : setlocal omnifunc = javacomplete#complete 然后当我编辑任何文件时出现异常: E518: Unknow
我如何将 Single 链接到 Completable,以便在 Completable 完成时订阅它? repository.downloadUser() 是 Single。 根据调试,似乎此方法中的
在bash中,默认情况下,按Tab键将显示当前目录中的所有文件和目录。例如:。Cat a将显示类似aFile.txt apples.png aDirectory/的内容。如果您随后完成了a目录,它将显
在bash中,默认情况下,按Tab键将显示当前目录中的所有文件和目录。例如:。Cat a将显示类似aFile.txt apples.png aDirectory/的内容。如果您随后完成了a目录,它将显
我错过了什么?示例使用 min.js。 bundle.min.js 有更多代码,但我找不到该额外代码的描述...... https://getbootstrap.com/docs/4.0/gettin
我是一名优秀的程序员,十分优秀!