删除topic

kafka未设置delete.topic.enable=true时, 尝试删除topic会显示test - marked for deletion
于是登录zookeeper客户端(zkCli.sh), 尝试删除topic

  1. 查看topic所在的目录: ls /brokers/topics;
  2. 查看marked for deletion标记的topic: ls /admin/delete_topics
    删除此处的topic, 可以恢复
  3. ls /config/topics, 也有所有topic的信息, 但用途不明
    删除zookeeper上对应的节点之后, kafka上对应的topic从列表中消失
  4. 最后删除磁盘上的对应文件.
    server.properties中, 设置了log.dirs. 在该目录下可以找到所有的topic文件, 在每个kafka节点删除的指定topic, 就手动删除了topic

误删除zookeeper文件

删除指定topic时, 把zookeeper上的所有topic都删除掉了
于是考虑数据恢复

1. 查看快照和日志

$ZOOKEEPER_HOME/data$ZOOKEEPER_HOME/datalog文件夹中, 有zookeeper的快照和增量日志, 根据快照和增量日志, 可以将zookeeper恢复到指定的状态
快照和日志文件都是可读的, 参考使用下述指令

# 查看Log
java -cp dist-maven/zookeeper-3.4.9.jar;lib/log4j-1.2.16.jar;lib/slf4j-log4j12-1.6.1.jar;lib/slf4j-api-1.6.1.jar org.apache.zookeeper.server.LogFormatter log.4115cad8c1
# 查看快照
java -cp dist-maven/zookeeper-3.4.9.jar;lib/log4j-1.2.16.jar;lib/slf4j-log4j12-1.6.1.jar;lib/slf4j-api-1.6.1.jar org.apache.zookeeper.server.SnapshotFormatter snapshot.4115cad8bf

实际操作中, 无法使用-cp+;指定多个jar包, 于是将所需jar包放到同一个文件夹下, 指定整个文件夹为环境变量, 假设jar包都放在lib文件夹里, 可以使用参数java -Djava.ext.dirs=lib test

2. 恢复zookeeper状态

ls -lt根据更改时间排序, $ZOOKEEPER_HOME/data$ZOOKEEPER_HOME/datalog文件夹中, 只保留最接近异常之前的 快照和增量日志, 然后重启zk集群即可

rename时遇到的问题
  1. 计划将文件夹下的数据全部加.bak后缀, 只保留正确的快照
  2. 考虑到mv无法批量改名, 因此尝试使用rename
  3. 谷歌了rename批量改名的语法, 给出的解决方案是使用正则.
  4. 尝试使用正则语法, 发现在环境中该语法是无效的
  5. rename有两个版本, 输入rename --help提示call: rename from to files...说明不支持正则语法, 提示rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]说明支持
  6. 最终选择使用shell脚本实现该功能, 如下
for f in `ls ./`
do
mv $f ${f}.bak
done

zookeeper数据恢复相关推荐

  1. 【Zookeeper】源码分析之持久化(三)之FileTxnSnapLog

    一.前言 前面分析了FileSnap,接着继续分析FileTxnSnapLog源码,其封装了TxnLog和SnapShot,其在持久化过程中是一个帮助类. 二.FileTxnSnapLog源码分析 2 ...

  2. zookeeper专题:zookeeper的节点类型,数据持久化机制

    文章目录 1. zookeeper的安装 2. zookeeper的节点类型 3. zookeeper命令解析 4.zookeeper的监听通知机制 5. zookeeper的常规配置 6. zook ...

  3. 《从Paxos到zookeeper分布式一致性原理与实践》笔记

    <从Paxos到zookeeper分布式一致性原理与实践>笔记 文章目录 <从Paxos到zookeeper分布式一致性原理与实践>笔记 一.概念 二.一致性协调 2.1 2P ...

  4. 《从Paxos到zookeeper分布式一致性原理与实践》

    <从Paxos到zookeeper分布式一致性原理与实践> 一.概念 ACID: Automaticy.consistency.isolation. Durability CAP: con ...

  5. ZooKeeper 源码和实践揭秘

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:runnerzhang,腾讯 CSIG 后台开发工程 ...

  6. 面试官问:ZooKeeper 一致性协议 ZAB 原理

    2019独角兽企业重金招聘Python工程师标准>>> 一致性协议有很多种,比如 Paxos,Raft,2PC,3PC等等,今天我们讲一种协议,ZAB 协议,该协议应该是所有一致性协 ...

  7. ZooKeeper最佳指南--云平台技术栈11

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的zookeeper! 转自:云时代架构 前言 相信大家对 ZooKeeper 应该不算陌生.但是你真的了解 ZooKeeper 是 ...

  8. 【Zookeeper】Zookeeper一致性协议——ZAB

    Zookeeper一致性协议--ZAB ZAB协议简介 Zookeeper通过ZAB保证分布式事务的最终一致性. ZAB全称Zookeeper Atomic Broadcast(ZAB,Zookeep ...

  9. 【Zookeeper入门】相关概念总结

    1. 前言 相信大家对 ZooKeeper 应该不算陌生.但是你真的了解 ZooKeeper 到底有啥用不?如果别人/面试官让你给他讲讲对于 ZooKeeper 的认识,你能回答到什么地步呢? 拿我自 ...

最新文章

  1. django中html中图片路径怎么写,django css样式,图片路径问题解决方案
  2. mysql知识结构图_MySql知识结构说明
  3. EasyRMS录播管理服务器项目实战:windows上开机自启动NodeJS服务
  4. python爬取百度域名注册_python爬取百度域名_python爬取百度搜索結果url匯總
  5. mysql 占用的解决_解决 MySQL 突然占用全部内存的问题
  6. 【进阶篇】Vue Devtools——vue开发调试神器
  7. 隐藏的iscroll元素显示后不能滚动问题
  8. PointNet论文笔记
  9. ncverilog脚本_NC-Verilog控制命令
  10. 新媒体素材采集工具,帮你采集新媒体素材,提高效率
  11. 爬虫项目十五:你了解你的QQ好友吗?教你用Python采集QQ好友数据
  12. ​【汇总】CV 图像分类常见的 36 个模型
  13. 从BlueSky.h和BlueSky.cpp到BlueSky.out的那些事儿
  14. DWR 一些注意的地方
  15. 云服务器价格比较,用哪家的比较划算?
  16. maxcompute-入门-环境安装
  17. 【linux性能优化】软中断的理解及问题定位
  18. el-card 组件美
  19. spark报错:CREATE TEMPORARY TABLE
  20. 27-TCP 协议(快重传与快恢复)

热门文章

  1. 360众筹网_360众筹平台
  2. Android利用SpannableStringBuilder设置TextView中部分文字的颜色...
  3. 知乎热榜的话题,为什么从阿里巴巴离职,大萌哥汇总了9大理由,看完我先柠檬酸了!
  4. bailian.openjudge 2692:假币问题
  5. 初中计算机实践研究计划,《初中信息技术学科学生作品有效评价的实践研究》课题研究计划...
  6. 2015年3月TIOBE编程语言排行榜单
  7. RDF 1.1 N-Triples
  8. duang~NBA资讯小程序
  9. lightdm 循环登录问题
  10. sRGB Color Space