创建topic的两种方式:
方法一:

bin/kafka-topics.sh --create --topic topicname --replication-factor 1 --partitions 1 --zookeeper localhost:2181

-topic 指定topic
-partitions指定分区数

kafka通过分区策略,将不同的分区分配在一个集群中的broker上,一般会分散在不同的broker上,当只有一个broker时,所有的分区就只能分配到该broker上。
消息会通过浮在均衡发布到不同的分区上,消费者会监测偏移量来获取哪个分区有新数据,从而从该分区上拉取消息数据。
分区数越多,在一定程度上会提高消息处理的吞吐量,因为kafka是基于文件进行读写,因此也需要打开更多的文件句柄,也会增加一定的性能开销。
如果分区过多,那么日志分段也会很多,写的时候由于是批量写,其实就会变成随机写,随机I/O对性能影响很大,所以一般来说,kafka不能有太多的Partition

–replication-factor
用来设置主题的副本数。每个主题可以有多个副本,副本位于集群中不同的broker上,也可以说副本的数量不能超过broker的数量,否则创建主题时会失败

方法二:
conf/server.properties开启自动创建配置:auto.create.topics.enable=true

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐