三种恢复 HDFS 上删除文件的方法

Similar documents
Spark读取Hbase中的数据

Apache CarbonData集群模式使用指南

通过Hive将数据写入到ElasticSearch

六种使用Linux命令发送带附件的邮件

Hadoop元数据合并异常及解决方法

Flume-ng与Mysql整合开发

三种方法实现Hadoop(MapReduce)全局排序(1)

使用MapReduce读取XML文件

在Fedora上部署Hadoop2.2.0伪分布式平台

使用Cassandra和Spark 2.0实现Rest API服务

使用Spark SQL读取Hive上的数据

Kafka客户端是如何找到 leader 分区的

Guava学习之Resources

将 MySQL 的全量数据导入到 Apache Solr 中

Hive:用Java代码通过JDBC连接Hiveserver

Flink快速上手(QuickStart)

韶关:神奇丹霞

在Spring中使用Kafka:Producer篇

哼, 你 們 不 回 答 又 怎 麼 樣? 不 管 是 多 大 來 頭, 現 在 都 被 血 魔 吞 噬 無 蹤 了 你 們 幾 個 真 是 太 過 分, 我 不 犯 你 們, 你 們 卻 一 天 到 晚 來 挑 釁 我 教 尊 冷 笑 著 說 道 嗚, 大 人 土 地 大 姐 跪 下 來, 流 下

伊春:醉人林都

SparkR(R on Spark)编程指南

关林:武圣陵寝

泰山:五岳独尊

Ubuntu和CentOS如何配置SSH使得无密码登陆

国内26省市新能源汽车推广规划已出台

北戴河:海阔天空


西岭雪山滑雪场

21 个你应该知道的 wget 命令

Spark作业代码(源码)IDE远程调试

「西醫基層總額支付委員會《第28次委員會議紀錄

Hadoop 2.2.0安装和配置lzo

投影片 1

江门:中国第一侨乡

是 喔, 就 是 那 個 在 BBS 醫 療 版 跟 你 嗆 聲, 自 稱 有 三 十 多 年 推 拿 經 驗 的 大 叔 嗎? 一 個 看 來 頗 為 清 秀 的 女 生 問 道, 她 語 氣 中 略 感 訝 異 是 啊, 什 麼 推 拿 按 摩 有 多 好, 還 要 人 生 病 盡 量 不 要

教育扩张能改善收入分配差距吗?——来自CHNS2006年数据的证据

山水文化,市井人家——以湖州邱城小镇的概念性规划为例

Apache Spark 2.4 新增内置函数和高阶函数使用介绍

2013年度西藏自治区教育厅

實用文格式大全.doc

薛 秦 高 继 宁 宋 明 锁 文 洪 梁 瑞 敏 贾 跃 进 内 蒙 古 自 治 区 (3 人 ) 琪 格 其 图 米 子 良 赵 震 生 辽 宁 省 (8 人 ) 田 素 琴 白 凤 鸣 肖 瑞 崇 黄 恩 申 白 长 川 杨 世 勇 李 敬 林 王 秀 云 吉 林 省 (5 人 ) 赵 继 福

个 小 小 的 乡 下 人 木 匠 的 儿 子, 竟 然 有 这 么 大 的 力 量 其 实 就 是 这 点, 祂 活 出 来 的 那 种 爱, 是 世 界 上 没 有 的 祂 活 出 来 的 爱 是 世 界 上 的 人 都 需 要 的, 但 却 是 人 人 在 这 个 世 界 上 都 得 不 到

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

Hive几种数据导入方式

64 [ 46 ] (p297) 1924 :? [ 47 ] (p570) ; ; ; ; ; ; ; ; ; ; ; [ 11 ]; [ 35 ] [ 49 ] [ 32 ] ( ) [ 48 ] (p 425) [ 50 ] (p 670 6

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 一 一 般 公 共 服 务 支 出 二

Flink快速上手之Scala API使用

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

QUESTION BANK UPDATED FOR STUDENT ONLY.xls

三种方法实现Hadoop(MapReduce)全局排序(2)

Linux服务器构建与运维管理

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

使用方法 :hadoop fs -chmod [-R] <MODE[,MODE]... OCTALMODE> URI [URI ] 改变文件的权限 使用 -R 将使改变在目录结构下递归进行 命令的使用者必须是文件的所有者或者超级用户 更多的信息请参见 HDFS 权限用户指南 chown 使用方法 :

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

Spark1.4中DataFrame功能加强,新增科学和数学函数

ElasticSearch系列文章:集群操作

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

张家口:塞外明珠

奇虎360正式开源深度学习调度平台XLearning

据传-蚂蚁金服350亿美元开约A股IPO,马云身价又要暴涨

到 之 後 我 也 入 列 六 月 初 才 跑 完 關 山 378 公 里, 意 猶 未 盡, 決 定 在 月 底 加 長 版 122 公 里, 湊 個 整 數, 也 就 是 說 涮 選 個 超 級 績 優 股 池 上 山 馬, 如 此 本 金 加 複 利, 或 許 能 搖 身 一 變 成 為 本

PDF 入不思議解脫境界普賢行願品 ... 《大方廣佛華嚴經卷第四十》

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

lect03.ppt

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

鼓浪屿:懒得艳遇

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

生产工艺难突破制约草铵膦行业发展

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

腰部酸痛保健法

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

Parallel Computing WHY Linux 的安装系统管理 linux 的基本命令与概念 Linux 操作系统与程序开发环境 Linux 操作系统与程序开发环境 卢脁 Parallel Computing Linux 操作系统与程序开发环境 卢脁 Linux Operating Sys

PowerPoint 演示文稿

昆明:茶暖花瘦

tar -xzf hadoop tar.gz mv hadoop /app 在 Hadoop 目录下创建子目录 在 hadoop 目录下创建 tmp name 和 data 目录 cd /app/hadoop mkdir tmp mkdir

使用Apache Spark将数据写入ElasticSearch

Spark 2.0介绍:在Spark SQL中定义查询优化规则

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

Microsoft Word - linux命令及建议.doc

发展党员材料填写参考(上网).doc

童话.doc

案例分享产品文档

第六組公文傳閱表

青岛:海滨城市

1.加入党组织主要经过哪些程序?

ebook70-5

Linux 操作系统与程序开发环境 卢脁 Parallel Computing WHY Linux 的安装 系统管理 linux 的基本命令与概念 Linux 操作系统与程序开发环境 Linux Operating System and Programming Environment 卢脁 Depa

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

HBase 中加盐(Salting)之后的表如何读取:协处理器篇

合集

Linux Ubuntu Part Linux Ubuntu Linux UNIX...19 Linux...19 Linux Linux...21 Linux GNU FSF Open So urce.

Microsoft Word - Sing Fu

Transcription:

三种恢复 HDFS 上删除文件的方法 我们每天都可能会操作 HDFS 上的文件, 这就很难避免误操作, 比如比较严重的误操作就是删除文件 本文针对这个问题提供了三种恢复误删除文件的方法, 希望对大家的日常运维有所帮助 如果想及时了解 Spark Hadoop 或者 Hbase 相关的文章, 欢迎关注微信公共帐号 :iteblog_hadoop 通过垃圾箱恢复 HDFS 为我们提供了垃圾箱的功能, 也就是当我们执行 hadoop fs -rmr xxx 命令之后, 文件并不是马上被删除, 而是会被移动到执行这个操作用户的.Trash 目录下, 等到一定的时间后才会执行真正的删除操作 看下下面的例子 : $ sudo -uiteblog hadoop fs -rmr /user/iteblog/test.txt Moved: 'hdfs://iteblogcluster/user/iteblog/test.txt' to trash at: hdfs://iteblogcluster/user/iteblo g/.trash/current $ sudo -uiteblog hadoop fs -ls /user/iteblog/.trash/current/user/iteblog -rw-r--r-- 3 iteblog iteblog 103 2017-05-15 17:24 /user/iteblog/.trash/current/user/iteblog/te st.txt $ sudo -uiteblog hadoop fs -mv /user/iteblog/.trash/current/user/iteblog/test.txt /user/iteblog / 1 / 5

$ sudo -uiteblog hadoop fs -ls /user/iteblog/test.txt -rw-r--r-- 3 iteblog iteblog 103 2017-05-15 17:24 test.txt 从上面的例子中可以看出, 我们删了 test.txt 文件之后, 文件被移到 /user/iteblog/.trash/current/user/iteblog/test.txt 路径下, 如果这个操作属于误操作, 那么我们可以到回收站找回这个文件并直接 mv 回原来的目录即可恢复之前的数据 不过这个功能的前提是要求我们启用 fs.trash.interval 参数, 默认是 0 代表不启用垃圾箱功能 <property> <name>fs.trash.interval</name> <value>1440</value> <description> Number of minutes after which the checkpoint gets deleted. If zero, the trash feature is dis abled. This option may be configured both on the server and the client. If trash is disabled ser ver side then the client side configuration is checked. If trash is enabled on the server side the n the value configured on the server is used and the client configuration value is ignored. </description> </property> 上面的配置是说, 文件被删除会保留到.Trash 目录下一天, 超过这个时间被删除的文件就会真正被删除 所以为了误删除操作, 强烈建议开启 HDFS 回收站功能 通过快照恢复 Hadoop 从 2.1.0 版本开始提供了 HDFS 快照 (SnapShot) 功能 一个快照是一个全部文件系统 或者某个目录在某一时刻的镜像 利用快照可以防止用户错误操作, 管理员可以通过以滚动的方式周期性设置一个只读的快照, 这样就可以在文件系统上有若干份只读快照 如果用户意外地删除了一个文件, 就可以使用包含该文件的最新只读快照来进行恢复 下面我们来实操说明如何利用快照恢复误删除的文件 : 创建目录和文件 $ sudo -ubizdata hadoop fs -mkdir /user/iteblog/important/ $ echo "important data" sudo -uiteblog hadoop fs -put - /user/iteblog/important/importantfile.txt $ sudo -uiteblog hadoop fs -cat /user/iteblog/important/important-file.txt important data 2 / 5

上面我们创建了 /user/iteblog/important/ 目录, 里面有一个文件 important-file.txt, 假设这个文件是非常重要的 创建快照 $ sudo -uiteblog hadoop dfsadmin -allowsnapshot /user/iteblog/important $ sudo -uiteblog hadoop fs -createsnapshot /user/iteblog/important important-snapshot 现在我们已经为 important 目录创建了快照, 名称为 important-snapshot 误删除操作 因为开启了快照功能, 我们无法删除已经创建快照的目录 (/user/iteblog/important), 但是我们依然可以删除这个目录下的文件 ; $ sudo -uiteblog hadoop fs -rm -r /user/iteblog/important/important-file.txt 现在这个重要的文件被我们误删除了! 恢复文件 别急, 因为我们开启了快照, 所有我们可以从快照中恢复这个文件, 步骤如下 : $ sudo -uiteblog hadoop fs -ls /user/iteblog/important/.snapshot/ $ sudo -uiteblog hadoop fs -cp /user/iteblog/important/.snapshot/importantsnapshot/important-file.txt /user/iteblog/important/ $ sudo -uiteblog hadoop fs -cat /user/iteblog/important/important-file.txt important data 通过上面几步, 我们已经恢复了误删除的重要文件 通过编辑日志恢复 3 / 5

关于 Hadoop 的编辑日志介绍请参见 : Hadoop 文件系统元数据 fsimage 和编辑日志 edits 如果你的 Hadoop 集群没有开启回收站功能, 也没有对重要的数据创建快照, 这时候如果有人将一份非常重要的数据误删除了, 那我们如何恢复这些数据? 答案是通过修改编辑日志, 但是通过这种方法不一定能恢复已经被删除的文件, 或者只能恢复一部分被删除的文件, 也可能恢复全部误删除的数据, 这个和你的集群繁忙状态有很大的关系 而且通过这种方式恢复误删除的文件代价很高, 风险很大, 需要谨慎使用 下面我来介绍通过这种恢复删除数据的步骤 删除文件 sudo -uiteblog hadoop fs -rmr -skiptrash /user/iteblog/important-file.txt 由于上面删除操作使用了 -skiptrash 参数, 这意味着这个文件会被直接删除, 并不会先放到回收站 恢复数据 NameNode 在收到删除命令时, 会先将这个命令写到编辑日志中, 然后会告诉 DataNode 执行真正的文件删除操作 所以我们需要做的是立刻停止 NameNode 和 DataNode 节点, 阻止删除命令的执行 然后找到执行 rmr 操作发生时间对应的编辑日志, 假设是 edits_inprogress_0000000000000001512, 这个文件是二进制的形式, 我们需要通过 HDFS 自带的命令将这个文件转换成可读的形式, 如下 : $ hdfs oev -i edits_inprogress_0000000000000001512 -o edits_inprogress_00000000000000015 12.xml 上面执行的结果是二进制的编辑日志被转换成我们人类可读的 xml 格式的文件, 我们找到执行删除 important-file.txt 文件的命令记录 : <RECORD> <OPCODE>OP_DELETE</OPCODE> <DATA> <TXID>1624</TXID> <LENGTH>0</LENGTH> <PATH>/user/iteblog/important-file.txt</PATH> 4 / 5

Powered by TCPDF (www.tcpdf.org) 三种恢复 HDFS 上删除文件的方法 <TIMESTAMP>1515724198362</TIMESTAMP> <RPC_CLIENTID>34809cac-a89f-4113-98b5-10c54d7aac1a</RPC_CLIENTID> <RPC_CALLID>1</RPC_CALLID> </DATA> </RECORD> OP_DELETE 这个标记就是删除操作, 我们将这个标记修改成比较安全的操作 ( 比如 OP_SET_PER MISSIONS), 如果这个命令是在最后, 可以直接删除, 然后保存 再将修改后的编辑日志转换成计算机能够识别的格式 : $ hdfs oev -i edits_inprogress_0000000000000001512.xml -o edits_inprogress_0000000000000 001512 -p binary 最后启动 NameNode 和 DataNode 节点, 后面就看你的造化了 本博客文章除特别声明, 全部都是原创! 转载本文请加上 : 转载自过往记忆 (https://www.iteblog.com/) 本文链接 : () 5 / 5