Kafka Topic

本文最后更新于:2024年3月18日 凌晨

Kafka Topic

创建Topic

1
$ kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test-replicated-topic
  • --topic:定义 topic 名。
  • --replication-factor:定义副本数,副本数要小于等于broker数。
  • --partitions:定义分区数。

为了实现扩展性,一个非常大的 topic 可以分布到多个 broker(即服务器)上,一个 topic 可以分为多个 partition,每个 partition 是一个有序的队列。

查看所有Topic

1
$ kafka-topics.sh --list --zookeeper zookeeper:2181

查看某个Topic的详情

1
$ kafka-topics.sh --zookeeper zookeeper:2181 --describe --topic test-topic

删除Topic

1
$ kafka-topics.sh --zookeeper zookeeper:2181 --delete --topic test-topic
  • 可以在server.properties中设置 delete.topic.enable=true 否则只是标记删除。

修改Topic分区数

1
$ kafka-topics.sh --zookeeper zookeeper:2181 --alter --topic  test-topic --partitions 3

发送消息

1
2
3
4
$ kafka-console-producer.sh --broker-list kafka:9092 --topic test-topic

>hello, kafka.
>test message

消费消息

1
2
3
4
$ kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic test-topic --from-beginning

hello, kafka.
test message
  • --from-beginning:会把主题中以往所有的数据都读取出来。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!