关系动物园管理员和卡夫卡
relationship zookeeper and kafka
我正在学习kafka CLI。并有一个问题。
为什么我们在创建主题和消费消息时必须使用 --zookeeper 选项,但是在生成消息时,我们只使用 --broker-list ,它只引用 Kafka 本身,
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
我知道kafka必须要用zookeeper来协调。但是我仍然没有从 CLI command
中很清楚
你要区分话题管理和话题消费。 ZK in不仅用于代理协调,还用于主题管理。
对于主题管理,ZK 用于存储主题元数据,代理(目前,Kafka 0.10.1
)不提供 API 用于主题管理。因此,管理 CLI 工具实际上直接与 ZK(而不是代理)对话。当新的 "admin client" 完全实施时,这将在未来改变 (c.f。https://cwiki.apache.org/confluence/display/KAFKA/KIP-4+-+Command+line+and+centralized+administrative+operations)
对于主题消费,不需要ZK,消费者和生产者客户只与经纪人对话。
我正在学习kafka CLI。并有一个问题。 为什么我们在创建主题和消费消息时必须使用 --zookeeper 选项,但是在生成消息时,我们只使用 --broker-list ,它只引用 Kafka 本身, 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
我知道kafka必须要用zookeeper来协调。但是我仍然没有从 CLI command
中很清楚你要区分话题管理和话题消费。 ZK in不仅用于代理协调,还用于主题管理。
对于主题管理,ZK 用于存储主题元数据,代理(目前,Kafka 0.10.1
)不提供 API 用于主题管理。因此,管理 CLI 工具实际上直接与 ZK(而不是代理)对话。当新的 "admin client" 完全实施时,这将在未来改变 (c.f。https://cwiki.apache.org/confluence/display/KAFKA/KIP-4+-+Command+line+and+centralized+administrative+operations)
对于主题消费,不需要ZK,消费者和生产者客户只与经纪人对话。