Topic:可以理解为一个队列,生产者和消费者面向的都是一个 topic。
Partition:主要为了做负载,实现扩展性,一个非常大的 topic 可以分布到多个 broker(即服务器)上,一个 topic 可以分为多个 partition,每个 partition 是一个有序的队列。
一、topic 操作
# 查看当前服务器中的所有 topic kafka-topics.sh --zookeeper h136:2181 --list # 创建 topic,副本数不能超过节点数 kafka-topics.sh --zookeeper h136:2181 --create --replication-factor 3 --partitions 1 --topic first # 选项说明: # --topic:定义 topic 名 # --replication-factor:定义副本数 # --partitions:定义分区数 # 查看某个 Topic 的详情 bin/kafka-topics.sh --zookeeper h136:2181 --describe --topic first # 修改分区数 bin/kafka-topics.sh --zookeeper h136:2181 --alter --topic first --partitions 3 # 删除 topic kafka-topics.sh --zookeeper h136:2181 --delete --topic first
二、生产者与消费者
# 生产者 kafka-console-producer.sh --broker-list h136:9092 --topic first # 消费者,可连接 Kafka 集群和 Zookeeper 集群 kafka-console-consumer.sh --bootstrap-server h136:9092 --topic first --from-beginning # 0.90 版本之前启动消费者的方法 kafka-console-consumer.sh --zookeeper h140:2181 --topic first # --from-beginning:会把主题中以往所有的数据都读取出来。
http://kafka.apache.org/documentation/#quickstart_createtopic