KafkaTopic的增删改查操作
1.创建Topic
bin/kafka-topics.sh --create --topic bigdata --zookeeper hadoop:2181/kafka08 --partitions 5 --replication-factor 2
其中:
(1)--replication-factor:副本数⽬默认不超过3,太多影响⽹络磁盘io性能(副本数越多,数据越安全,但是不能⼤于broker的数⽬)
(2)--partitions:⼀般为broker服务数⽬的1--2倍
kafka命令2.查看当前kafka集中Topic的情况
(1)查看Topic列表
bin/kafka-topics.sh --list --zookeeper hadoop:2181/kafka08
(2)zk查看
打开zk客户端后
ls /kafka/config/topics
(3)topic数据存储
由server.properties中log.dirs配置决定
/opt/modules/kafka_2.11-0.10.2.1/data/0
3. 查看Topic的详细信息
bin/kafka-topics.sh --describe --zookeeper hadoop:2181/kafka08
结果:
Topic:beifeng  PartitionCount:5        ReplicationFactor:2    Configs:
Topic: beifeng  Partition: 0    Leader: 0      Replicas: 0,1  Isr: 0
Topic: beifeng  Partition: 1    Leader: 0      Replicas: 1,0  Isr: 0
Topic: beifeng  Partition: 2    Leader: 0      Replicas: 0,1  Isr: 0
Topic: beifeng  Partition: 3    Leader: 0      Replicas: 1,0  Isr: 0
Topic: beifeng  Partition: 4    Leader: 0      Replicas: 0,1  Isr: 0
Topic:beifeng0  PartitionCount:1        ReplicationFactor:1    Configs:
Topic: beifeng0 Partition: 0    Leader: 0      Replicas: 0    Isr: 0
其中Isr:当broker的leader宕机后,有机会竞选的broker的id!
4. 修改Topic信息
bin/kafka-topics.sh --alter --topic bigdata --zookeeper hadoop:2181/kafka08 --partitions 6
注意:不能修改replication-factor,以及只能对partition个数进⾏增加,不能减少
5. 删除Topic(简单的删除,只是标记删除)
bin/kafka-topics.sh --delete --topic bigdata--zookeeper hadoop:2181/kafka08
默认情况下,删除是标记删除,没有实际删除这个Topic。
真实删除这个Topic的两种⽅式:
(1)通过delete命令删除后,⼿动将本地磁盘以及zk上的相关topic的信息删除即可
ls /kafka/brokers/topics
(2)配置server.properties⽂件,给定参数able=true,表⽰允许进⾏Topic的删除
注意:⼀般来说,topic创建了之后就不要随意的删除和修改信息
(1)⼀个分区只能让(⼀个消费者组中)⼀条线程消费。(同⼀个分区中的数据,是不可能让两条线程同时消费的)
(2)如果,⼀个topic有3个分区,但是消费者只有⼀个线程,则这个消费者消费这3个分区的数据。
(3)分区数和消费者线程数相等的情况下,消费的速度和性能是最好的。(如果,分区数⼤于线程数,则有的线程消费多个分区的数据;如果线程⼤于分区,部分线程占据资源不处理数据,浪费资源)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。