2016-12-12 1 views
0

카프카 CLI를 배우고 있습니다. 그리고 질문이 있습니다. 우리가 메시지를 생성 할 때 그러나, 주제를 생성하고 메시지를 소비 할 때 --zookeeper 옵션을 사용하는 이유 , 우리는 방금 카프카 자신을 참조 --broker 목록을 사용 1.create 주제관계 동물원과 카프카

./kafka-topics.sh --create --zookeeper `docker-machine ip bigdata` --replication-factor 1 --partitions 1 --topic bigdata 

2.produce 메시지

./kafka-console-producer.sh --broker-list `docker-machine ip bigdata`:9092 --topic bigdata 

3.consume 메시지

./kafka-console-consumer.sh --zookeeper `docker-machine ip bigdata`:2181 --topic bigdata 

나는 카프카가 조정을 위해 사육사를 사용해야합니다 알고있다. 하지만 여전히 CLI 명령에서 명확하지 않습니다.

+0

이 답변은 질문과 관련있는 것으로 보입니다. - http://stackoverflow.com/questions/22444351/why-does-kafka-producer-take-a-broker-endpiont-when-being-initialized-instead-of –

답변

2

주제 관리와 주제 소비를 구별해야합니다. ZK는 중개인 조정뿐만 아니라 주제 관리에도 사용됩니다.

주제 관리를 위해 ZK는 주제 메타 데이터를 저장하는 데 사용되고 브로커 (현재는 Kafka 0.10.1)가 주제 관리를위한 API를 제공하지 않습니다. 따라서 admin CLI 도구는 실제로 ZK (브로커가 아닌)와 직접 대화합니다. 새 "관리 클라이언트"가 완전히 구현 된 이후에 변경 될 예정입니다. (https://cwiki.apache.org/confluence/display/KAFKA/KIP-4+-+Command+line+and+centralized+administrative+operations)

항목 소비로 ZK가 필요하지 않으며 소비자 및 제작자 클라이언트는 중개인에게만 이야기합니다.

+0

그래서 기본적으로 화제 데이터 자체는 여전히 kakfa 노드에 저장됩니다. – nathan

+0

예. ZK는 메타 데이터 만 저장합니다. 주제 페이로드는 카프카 브로커에 저장됩니다. –