Kafka主题Topic的相关操作

目录

 

创建topic

查看topic的列表

新版本生产者(支持0.9版本+)

新版本消费者(支持0.9版本+)

查看某一个具体的Topic

 修改Topic

删除Topic

查询topic每个partition的偏移量


创建topic

$KAFKA_HOME/bin/kafka-topics.sh --create --topic channel.test.HelloWorld --zookeeper node01:2181,node02:2181,node03:2181/kafka --partitions 1 --replication-factor 3

查看topic的列表

$KAFKA_HOME/bin/kafka-topics.sh --list --zookeeper node01:2181,node02:2181,node03:2181/kafka

新版本生产者(支持0.9版本+)

$KAFKA_HOME/bin/kafka-console-producer.sh --broker-list node01:9092,node02:9092,node03:9092 --topic channel.test.HelloWorld --producer.config $KAFKA_HOME/config/producer.properties

新版本消费者(支持0.9版本+)

$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --topic channel.test.HelloWorld --consumer.config config/consumer.properties

$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --topic channel.test.HelloWorld --from-beginning

: 使用"--from-beginning"的时候,后面不能跟"--consumer.config config/consumer.properties"

查看某一个具体的Topic

kafka-topics.sh --describe xxx --zookeeper uplooking01:2181    
Topic:xxx       PartitionCount:3        ReplicationFactor:1 

Configs:

        Topic: xxx      Partition: 0    Leader: 10      Replicas: 10    Isr: 10
        Topic: xxx      Partition: 1    Leader: 10      Replicas: 10    Isr: 10
        Topic: xxx      Partition: 2    Leader: 10      Replicas: 10    Isr: 10

        PartitionCount:topic对应的partition的个数
        ReplicationFactor:topic对应的副本因子,说白就是副本个数
        Partition:partition编号,从0开始递增
        Leader:当前partition起作用的breaker.id
        Replicas: 当前副本数据坐在的breaker.id,是一个列表,排在最前面的起作用
        Isr:当前kakfa集群中可用的breaker.id列表 
       

 修改Topic


不能修改replication-factor,以及只能对partition个数进行增加,不能减少
kafka-topics.sh --alter --topic hive --zookeeper node01:2181,node02:2181,node03:2181/kafka --partitions 3

partition由3变为2的时,抛出的异常:
ERROR kafka.admin.AdminOperationException: The number of partitions for a topic can only be increased

删除Topic

    $KAFKA_HOME/bin/kafka-topics.sh --delete --topic channel.test.HelloWorld --zookeeper node01:2181,node02:2181,node03:2181/kafka
    Topic hbase is marked for deletion.
    Note: This will have no impact if delete.topic.enable is not set to true.

    彻底删除一个topic,需要在server.properties中配置delete.topic.enable=true,否则只是标记删除
    配置完成之后,需要重启kafka服务。

    kafka-server-stop.sh
    kill -9 

    $ZOOKEEPER_HOME/bin/zkCli.sh -server node01:2181,node02:2181,node03:2181/kafka

    # 删除zookeeper上的topic存储信息
    rmr /kafka/brokers/topics/channel.test.HelloWorld
    rmr /kafka/config/topics/channel.test.HelloWorld
    # 删除每个broker所在服务器上的所有数据文件
    rm -rf /data/kafka/logs/data/channel.test.HelloWorld*
    rm -rf /data/kafka/logs/channel.test.HelloWorld*
    # 重启kafka
    $KAFKA_HOME/bin/kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties


查询topic每个partition的偏移量

$KAFKA_HOME/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list node01:9092,node02:9092,node03:9092 --topic channel.test.HelloWorld --time -1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值