Topic主题:
消息在进入kafka集群时,是以主题进行 数据归纳,既一条消息必须属于一个主题。
在kafka集群中可以有无数个主题。
从生产者的角度来说,他所操作的单位,一般情况下是以主题为单位。从消费者的角度来说,他所操作的单位,也是以主题为单位。
但是,生产者,消费者可以以比主题更精细的单位来操作----》分区,也就是消息的分类。
kafka始终支持多用户写入消息,订阅消息的。生产者和消费者,必须要知道操作的主题。
创建属于自己的主题:
常用命令:
启动kafka
Java\kafka_2.11-0.10.0.0>.\bin\windows\kafka-server-start.bat .\config\server.properties
windows 下查看主题
D:\Java\kafka_2.11-0.10.0.0\bin\windows>kafka-topics.bat --describe --zookeeper localhost:2181 --topic business_log(主题的名字)
查看主题的content
D:\Java\kafka_2.11-0.10.0.0\bin\windows>kafka-console-consumer.bat --zookeeper localhost:2181 --from-beginning --topic business_log(主题的名字)
往主题写入消息
kafka-console-producer.bat --broker-list localhost:9092 --topic business_log
创建一个主题:
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic business_log(主题的名字)
在创建主题时,可以设置很多属性参数,需要哪些参数,可以查找参数设置表
查看所有创建的主题列表:
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
彻底删除本机kafka的topic
1.server.properties 中添加delete.topic.enable=true
2.执行D:\Developer\kafka_2.10-0.10.0.0\bin\windows>kafka-topics.bat --zookeeper 127.0.0.1(本机的IP):2181 --delete --topic business_log(主题的名字)
3. 执行zookeeper-server-stop.bat,重启kafka
若是重新发送消息,会自动根据配置的partitions重建。
注意:不执行1步骤,就是假删除
一个broker服务下,是否可以创建多个主题?
可以
一个broker服务下,在创建主题时是否可以创建多个副本因子?
不可以,创建主题时的副本因子,应该小于等于可用的broker服务数。
查看主题和分区信息:
在kafka中,每个分区有一个编号,这个编号从0开始,
Leader:表示broker.id=0(server.properties文件中)如果有多个broker,那么broker.id的值肯定不相同,因为在kafka中如果有多个副本的话,就会存在leader与follower的关系。表示当前这个复本为leader所在的broker是哪一个。
Replicas:所有的复本列表, 0,1,2
Isr:可用列表数,0,1,2
只看主题。
来源:oschina
链接:https://my.oschina.net/u/3156785/blog/3037310