zoukankan      html  css  js  c++  java
  • kafka彻底删除topic

    今天发现一个线上kafka(版本为0.8.2.2)多天前已不再消费的topic标记为删除(marked for deletion),而我们每天有定时删除topic的shell脚本,会把无用的topic干掉,但发现这些topic只是被标记为删除,而并没有真正删除,其server.properties的相关配置如下:
    delete.topic.enable=true
    log.retention.hours=72
    既然自动删除没起作用(后来探查到原因是我们的监控服务还在访问这个topic),那就手动删除

    要彻底把topic删除需要把kafka中与该topic相关的本地数据目录及zookeeper与该topic相关的路径删除。kafka的zookeeper root为/kafka,比如要删除topic为${topic_name}


    1.删除kafka相关的数据目录
    首先查看数据目录在server.properties配置如下: log.dirs=/data1/kafka_logs

    执行 rm -r /data1/kafka_logs/${topic_name}*

    2.删除kafka topic
    ${KAFKA_HOME}/bin/kafka-topics.sh --delete --zookeeper ${ZOOKEEPER_HOST}:2181/kafka --topic ${topic_name}

    3.删除zookeeper相关的路径
    进入${ZOOKEEPER_HOME}/bin/zkCli.sh
    执行下面的命令
    rmr /kafka/consumers/${topic_name}-group
    rmr /kafka/config/topics/${topic_name}
    rmr /kafka/brokers/topics/${topic_name}
    rmr /kafka/admin/delete_topics/${topic_name}

    4.用下面命令查看相关的topic还在不在:
    ${KAFKA_HOME}/bin/kafka-topics.sh --list --zookeeper ${ZOOKEEPER_HOST}:2181/kafka --topic ${topic_name}

    如果仍然删除不了的话,需要检查kafka数据目录中的recovery-point-offset-checkpoint和replication-offset-checkpoint文件里是否有该topic的信息

  • 相关阅读:
    Qt与VC编程合作起龌龊
    谈谈误差补偿
    谈谈单片机编程入门方法
    小议设计模式
    创建VS工程使用神经网络库——FANN
    设计一个循环缓冲区模板
    旧文备份:FFTW介绍
    旧文备份:硬盘MBR引导记录损坏的一种修复方法
    How to disable the unused macros warning? --rust
    看阿里架构师是如何在高并发的情景下运筹帷幄
  • 原文地址:https://www.cnblogs.com/dailidong/p/7571083.html
Copyright © 2011-2022 走看看