zoukankan      html  css  js  c++  java
  • Kafka Topic的增删改查操作

    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倍

    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文件,给定参数delete.topic.enable=true,表示允许进行Topic的删除
    注意:一般来说,topic创建了之后就不要随意的删除和修改信息

    6.topic分区partition意义

    (1)一个分区只能让(一个消费者组中)一条线程消费。(同一个分区中的数据,是不可能让两条线程同时消费的)
    (2)如果,一个topic有3个分区,但是消费者只有一个线程,则这个消费者消费这3个分区的数据。
    (3)分区数和消费者线程数相等的情况下,消费的速度和性能是最好的。(如果,分区数大于线程数,则有的线程消费多个分区的数据;如果线程大于分区,部分线程占据资源不处理数据,浪费资源)

  • 相关阅读:
    逍遥刘强 - 期货大作手风云录(2015年8月28日)
    雷米 - 心理罪:画像(2015年8月17日)
    雷米 - 心理罪:城市之光(2015年8月11日)
    雷米 - 心理罪:暗河(2015年8月9日)
    雷米 - 心理罪:教化场(2015年8月8日)
    付海棠 - 一个农民的亿万传奇(2015年7月14日)
    阿西莫夫 - 神们自己(2015年6月23日)
    张维为 - 中国震撼:一个”文明型国家“的崛起(2015年5月30日)
    华彬 - 华彬讲透孙子兵法(2015年5月22日)
    股峰求道 - 炼股成金:从散户到操盘手的修炼法则(2015年5月11日)
  • 原文地址:https://www.cnblogs.com/jjiaper/p/15079410.html
Copyright © 2011-2022 走看看