2

我正在使用kafka 0.8.2,我想使用 fetch 和 commit offset API,如文档所述

给定消费者组的偏移量由称为偏移量协调器的特定代理维护。即,消费者需要向该特定代理发出其偏移提交和获取请求。它可以通过发出消费者元数据请求来发现当前的偏移协调器

所以我发送一个ConsumerMetadataRequest,而不是得到正确的响应,我总是得到ConsumerCoordinatorNotAvailableCode

如果尚未创建偏移量主题,代理会为消费者元数据请求或偏移量提交请求返回此错误代码。

如果我使用kafka 0.8.2beta版本,则没有问题。

我也使用 go client sarama,我__consumer_offsets在获取元数据之前创建了主题。这是我的配置:

broker.id=1
port=9091
host.name=192.168.33.10
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=data/9091
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=false
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
4

2 回答 2

1

我刚刚发现了一个类似的问题。问题是消费者没有为消费者组发出 ConsumerMetadataRequest。

我发现如果您收到作为错误返回的 ConsumerCoordinatorNotAvailableCode,则必须发送 ConsumerMetadataRequest 并重试。

于 2015-04-10T15:41:21.693 回答
0

我刚刚发现,这是我Scale的版本出现的问题,当我使用Scale的版本时 2.9.1,它成功了,但在2.10. 我不熟悉Scala,所以我不深入。

于 2015-04-13T03:30:58.803 回答