0

Как показывает новый документ, Kafka сам позаботится об управлении смещениями при использовании API высокого уровня по умолчанию. Но когда я создаю ConsumerConnector, как показано ниже, мне по-прежнему требуется предоставить свойство zookeeper.connect.При использовании Kafka High Level ConsumerConnector, где будут храниться смещения?

_consumerConnector = Consumer.createJavaConsumerConnector(consumerConfig); 

Это правда, что в этом случае он все еще зовпер, который управляет смещением? Благодаря!

ответ

0

Похоже, что это все еще старый потребительский API высокого уровня. Вы по-прежнему можете управлять смещениями со старым потребителем Scala в Kafka, но для этого требуется, чтобы настройки offsets.storage были установлены в Kafka, и вам все равно понадобится zookeeper.

«Новый» потребитель api - это java api и действительно использует Kafka для хранения смещения и не требует конфигурации соединения zookeeper. Это api документировано here.

+0

Да, я обнаружил, что в новом документе api говорится, что при использовании KafkaConsumer смещения могут управляться кафкой. Но в нем не упоминалось, что произойдет при использовании ConsumerConnector. Есть ли у вас какие-либо идеи по этому поводу? Спасибо! –

+0

Я считаю, что это будет так же, как старый потребитель и зависит от zookeeper – dawsaw

1

От Kafka 0.9 смещения хранятся в специальной теме __consumer_offsets. Однако KafkaConsumer все еще зависит от ZK (по другим причинам). В будущих версиях зависимость от ZK будет полностью удалена.

 Смежные вопросы

  • Нет связанных вопросов^_^