我正在使用kafka 0.8.2,我想使用fetch和commit offset API作为文档said:
给定消费者组的偏移由称为偏移协调器的特定代理维护。即,消费者需要发出其偏移提交并获取对该特定代理的请求。它可以通过发出消费者元数据请求来发现当前的偏移协调器
所以我发送了ConsumerMetadataRequest
,而不是得到正确的答案,我总是得到ConsumerCoordinatorNotAvailableCode
如果尚未创建偏移主题,代理将为消费者元数据请求或偏移提交请求返回此错误代码。
如果我使用的kafka 0.8.2beta版本没有问题。
我也使用go客户端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
答案 0 :(得分:1)
我刚刚发现了类似的问题。问题是消费者没有为消费者群体发布ConsumerMetadataRequest。
我发现如果您收到因错误而返回的ConsumerCoordinatorNotAvailableCode,您必须发送ConsumerMetadataRequest并重新退出。
答案 1 :(得分:0)
我刚刚发现,我的Scale
版本发生了一些事情,当我使用Scale版本的2.9.1
时,它已成功,但在{ {1}}。我不熟悉2.10
,所以我并不深入。{/ p>