Topic 主题
当kafka数据进行持久化的时,为了区分不同的业务主题,设计了主题这个概念,类似数据库会有数据库名,数据库有若干数据表。不同类型消息数据按一定的规则进行分类,最后相同类型业务数据存储到同一个主题下。
创建topic
自动创建
通过auto.create.topocs.enable属性来自动创建主题,默认该值是true。当生产者项kafk发送一个不存在的主题的时候,kafka会创建一个默认配置系数的主题。其中默认分区的数值由num.partitions控制,默认副本系数由default.replication.factor控制。具体配置文件在当前kafka的config/server.properties
手动创建
具体命令如下,主题名是topic-test,由于是开发环境搭建 分区和副本分区都是1
$ kafka-topics.sh --zookeeper localhost: 2181/kafka --create --topic topic-test --replication-factor 1 --partitions 1
Created topic "topic-test".
—topic 定义topic名
—replication-factor 定义副本数
—partitions 定义分区数
查看topic
查看所有的topic
$kafka-topics.sh --list -zookeeper localhost:2181
__consumer_offsets
topic-test
查看topic 详情
$ kafka-topics.sh --zookeeper localhost:2181 --describe --topic topic-test
Topic:test PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
发送/接收消息
$ kafka-console-producer.sh --broker-list localhost:9092 --topic topic-test
>hello kafka
>hello world
kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic topic-test
hello world
删除
$ kafka-topic.sh --zookeeper localhost:2181 -delete --topic topic-test
Topic topic-test is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.