我使用的是kafka 0.8.2,我想使用获取和提交偏移量API,作为文档说:
给定使用者组的偏移量由称为偏移协调器的特定代理维护。也就是说,使用者需要向这个特定的代理发出它的偏移提交和获取请求。它可以通过发出使用者元数据请求来发现当前的偏移协调器。
所以我发送了一个ConsumerMetadataRequest,而不是得到正确的响应,我总是得到ConsumerCoordinatorNotAvailableCode
如果尚未创建偏移主题,代理将返回使用者元数据请求的此错误代码或偏移提交请求。
如果我使用kafka 0.8.2β版本,这没有问题。
另外,我使用go客户端萨拉马,在获取元数据之前创建__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发布于 2015-04-10 15:41:21
我刚发现了一个类似的问题。问题是消费者尚未为消费者组发布ConsumerMetadataRequest。
我所发现的是,如果收到作为错误返回的ConsumerCoordinatorNotAvailableCode,则必须发送一个ConsumerCoordinatorNotAvailableCode,然后在关闭的情况下重试。
发布于 2015-04-13 03:30:58
我刚刚发现,这是我的Scale版本发生的事情,当我使用Scale的2.9.1版本时,它成功了,但是在2.10中失败了。我不熟悉Scala,所以我对它不太熟悉。
https://stackoverflow.com/questions/28513744
复制相似问题