6.12. 基于kafka数据误删数据的恢复

一般设置kafka数据保留七天 ,假如删除了七天之内的数据,可以通过如下方法进行数据恢复

6.12.1. 数据误删

  1. 表分区情况

img

  1. 误删数据前的数据分布情况

img

  1. 数据被删除

img

6.12.2. 数据恢复步骤

  1. 停掉lsql
[root@mini3 sbin]# sh /opt/software/lsql/sbin/stop.sh
  1. 基于当前时间点为lsql在hdfs上的目录做快照,以免误操作,将数据删除。
[root@mini3 sbin]# sh /opt/software/hgs/lsql/sbin/snapshot.sh /data-pr 3

下面是快照分布情况:

img

  1. 修改lsql的hdfs目录

修改文件 lsql/config/site/lsql-env.sh

export CL_HDFS_PATH=/data-pr 修改为 export CL_HDFS_PATH=/data-recover

修改kafka消费, 修改其消费的组名,文件为lsql/config/site/lsql-site.properties

原始配置:

img

只修改group名称:

img

看蓝色笔圈起来的部分 如果有多个配置就修改多个

  1. 创建需要的目录文件

手动在hdfs上建目录,‘hdfs’命令请根据具体目录来拼写命令路径

/opt/software/hadoop/hadoop/bin/hdfs dfs -mkdir /data-recover

如果有ssd的配置请根据需要 建立ssd目录。

​ 以本例为主 /data-pr/ssdindex是ssd的配置,则改变目录后需要手动建立 /data-recover/ssdindex 并将该目录设置为One_SSD。

img

  1. 启动lsql

现在启动lsql将数据恢复到/data-recover下面

[root@mini3 site]# sh /opt/software/hgs/lsql/sbin/start.sh
  1. 等待kafka的消费进度到100%

以下为刚开始是的消费进度

img

等待消费进度为100%,如图:

img

  1. 停止lsql
sh /opt/software/hgs/lsql/sbin/stop.sh
  1. 数据恢复

    (1) 由于删除的数据是20200115分区

故只需将该分区的数据拷贝到原lsql目录下 /data-pr

将 /data-pr/index/person/index/20200115、/data-pr/ssdindex/person/index/20200115移动到一个备用目录

sh hdfs dfs  -mkdir /data-pr/old-data #创建临时目录#将普通磁盘 ssd磁盘的数据移动到/data-pr/old-data下
sh hdfs dfs -mv  /data-pr/index/person/index/20200115 /data-pr/old-data
sh hdfs dfs -mv  /data-pr/ssdindex/person/index/20200115 /data-pr/old-data/ssd-20200115
(2) 将重新生成的数据移动到/data-pr下

​ 将/data-recover/index/person/index/20200115、/data-recover/ssdindex/person/index/20200115分别

移动到/data-pr/person/index、/data-pr/ssdindex/person/index

sh hdfs dfs -mv  /data-recover/index/person/index/20200115 /data-pr/index/person/index#一下蓝色字体为一句命令
sh hdfs dfs -mv /data-recover/ssdindex/person/index/20200115 /data-pr/ssdindex/person/index
(3) 切换lsql的hdfs目录为原来的目录 即/data-pr,修改文件lsql/config/site/lsql-env.sh
export CL_HDFS_PATH=/data-recover 改为原来目录export CL_HDFS_PATH=/data-pr
(4) 启动lsql

查询数据结果:

img

数据已恢复。

Copyright © lucene.xin 2020 all right reserved修改时间: 2021-07-02 11:42:23

results matching ""

    No results matching ""