zoukankan      html  css  js  c++  java
  • kafka全部数据清空与某一topic数据清空

    1. Kafka全部数据清空

    kafka全部数据清空的步骤为:

    1. 停止每台机器上的kafka;
    2. 删除kafka存储目录(server.properties文件log.dirs配置,默认为“/tmp/kafka-logs”)全部topic的数据目录;
    3. 删除zookeeper上与kafka相关的znode节点;
    4. 重启kafka、如果删除topic还在则需要重启zookeeper;

    这里以192.168.187.201 node1、192.168.187.202 node2、192.168.187.203 node3三台机器作为kafka的集群。

    注意:kafka版本为kafka_2.11-1.1.1

    1.1 停止每台机器上的kafka

    以root用户分别登录三台机器,使用命令jps 找出kafka的PID,再使用命令 kill kafka进程。

     节点node1

    节点node2

    节点node3

    1.2 删除kafka存储目录

    在kafka安装目录的config文件夹下server.properties中查看存储目录为:

    删除该目录所有数据:

    1.3 删除zookeeper上与kafka相关的znode节点

    zookeeper上面保存着kafka的所有topic及其消费信息,故需要删除与kafka相关的znode节点:

    进入zookeeper的shell界面:

    查看与kafka相关的znode节点:

    在上面的znode节点中,除了zookeeper作为zk的安全保障措施,其他znode节点都得删除 

    1.4 重启kafka

    分别在node1、node2、node3上面执行如下命令启动kafka:

    /opt/app/kafka_2.11-1.1.1/bin/kafka-server-start.sh /opt/app/kafka_2.11-1.1.1/config/server.properties > /dev/null 2>&1 &

    jps命令查看node1、node2、node3上面的启动情况:

    最后在查看kafka上面是否还有topic存在:

    可以看到topic及其相关数据已被清空删除

    2. 某一topic数据清空

    查看当前所有topic

     

    比如目前需要删除test这一topic,目前kafka_2.11-1.1.1以上版本默认delete.topic.enable=true,即是说使用命令

    ./kafka-topics.sh --zookeeper node1:2181 --delete --topic test

    该命令将会在zookeeper中删除与test这一topic相关的znode节点(包括test详细信息、生产数据、消费数据的节点),并在kafka的存储目录/opt/data/kafka/kafka-logs/下把与test这一topic相关的存储数据目录标记为待删除,稍后会真正删除这些待删除的目录,如下:

    使用kafka-topics.sh查看test在zookeeper中相关znode节点信息是否已被删除

    在/opt/data/kafka/kafka-logs目录下查看test相关存储目录是否被标记删除

    在/opt/data/kafka/kafka-logs目录下查看test相关存储目录已被删除

    3. 思考

    kafka全部数据清空步骤比较繁琐,借鉴某一topic数据清空的方式,可以通过使用kafka-topics.sh --delete命令逐个删除所有的topic,达到清空kafka全部topic数据的目的,不足的是topic“__consumer_offsets”无法删除,不过不碍事。

    参考资料:

    https://blog.csdn.net/belalds/article/details/80575751

  • 相关阅读:
    浅谈SQLite——查询处理及优化
    .NET 并行(多核)编程系列之七 共享数据问题和解决概述
    sql 存储过程学习一
    SQL中获得EXEC后面的sql语句或者存储过程的返回值的方法 【收藏】
    script刷新页面,刷新代码
    C#编程中关于数据缓存的经验总结
    SQL存储过程的概念,优点及语法
    SQLite数据库安装、试用及编程测试手记
    c# sqlite 数据库加密
    进销存管理系统的设计与实现
  • 原文地址:https://www.cnblogs.com/swordfall/p/10014300.html
Copyright © 2011-2022 走看看