大数据技术 Hadoop createSnapshot和deleteSnapshot命令
沉沙 2018-09-25 来源 : 阅读 2291 评论 0

摘要:本篇教程探讨了大数据技术 Hadoop createSnapshot和deleteSnapshot命令,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

本篇教程探讨了大数据技术 Hadoop createSnapshot和deleteSnapshot命令,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

<

概述
HDFS快照是文件系统的只读时间点副本。 可以对文件系统的子树或整个文件系统进行快照。 快照的一些常见用例是数据备份,防止用户错误和灾难恢复。HDFS快照的实现是高效的:
    快照创建是即时的:成本是O(1),不包括inode查找时间。    仅当对快照进行修改时才使用附加内存:内存使用为O(M),其中M是修改的文件/目录的数量。    不复制datanode中的块:快照文件记录块列表和文件大小。 没有数据复制。    快照不会对常规HDFS操作产生负面影响:修改会按相反的时间顺序记录,以便可以直接访问当前数据。 通过从当前数据中减去修改来计算快照数据。
Snapshottable目录
一旦目录设置为可快照,就可以对任何目录进行快照。 snaphottable目录能够容纳65,536个同步快照。可快照目录的数量没有限制。 管理员可以将任何目录设置为可快照。如果快照目录中有快照,则在删除所有快照之前,不能删除或重命名目录。当前不允许嵌套snaphottable目录。 换句话说,如果一个目录的祖先/后代是一个snaphottable目录,则不能将其设置为snaphottable。快照路径
对于快照目录,路径组件“.snapshot”用于访问其快照。 假设/ foo是snaphottable目录,/ foo / bar是/ foo中的文件/目录,而/ foo有一个快照s0。 然后,路径
    /foo/.snapshot/s0/bar
指的是/ foo / bar的快照副本。 通常的API和CLI可以使用“.snapshot”路径。 以下是一些示例。列出snaphottable目录下的所有快照:
    hdfs dfs -ls /foo/.snapshot
列出快照s0中的文件:
    hdfs dfs -ls /foo/.snapshot/s0
从快照s0复制文件:
    hdfs dfs -cp -ptopax /foo/.snapshot/s0/bar /tmp
请注意,此示例使用保留选项来保留时间戳,所有权,权限,ACL和XAttrs。使用快照升级到HDFS版本
HDFS快照功能引入了用于与快照交互的新保留路径名:.snapshot。 从旧版本的HDFS升级时,名为.snapshot的现有路径需要首先重命名或删除,以避免与保留路径冲突。 有关详细信息,请参阅HDFS用户指南中的升级部分。快照操作
管理员操作
注意:本节中描述的操作需要超级用户权限。允许快照
允许创建目录的快照。 如果操作成功完成,则目录变为可快照。命令
    hdfs dfsadmin -allowSnapshot 
参数
    path:snaphottable目录的路径。
另请参阅HdfsAdmin中的相应Java API void allowSnapshot(路径路径)。不可快照
不允许创建目录的快照。 在禁用快照之前,必须删除目录的所有快照。命令
    hdfs dfsadmin -disallowSnapshot 
参数
    path:snaphottable目录的路径。
另请参阅HdfsAdmin中的相应Java API void disallowSnapshot(路径路径)。
用户操作注意: HDFS超级用户可以执行所有操作而不满足各个操作中的权限要求。创建快照
创建快照目录的快照。 此操作需要snaphottable目录的所有者特权。命令
    hdfs dfs -createSnapshot  []
参数
    path:snaphottable目录的路径。    snapshotName:快照名称,它是一个可选参数。 当省略时,使用格式为“’s’yyyyMMdd-HHmmss.SSS”的时间戳生成默认名称,例如。 “s20130412-151029.033”。
另请参见文件系统中相应的Java API路径createSnapshot(路径路径)和路径createSnapshot(路径路径,字符串snapshotName)。 在这些方法中返回快照路径。删除快照
从快照目录中删除快照。 此操作需要snaphottable目录的所有者特权。命令
    hdfs dfs -deleteSnapshot  
参数
    path:snaphottable目录的路径。    snapshotName:快照名。
另请参见文件系统中相应的Java API void deleteSnapshot(Path path,String snapshotName)。重命名快照
重命名快照。 此操作需要snaphottable目录的所有者特权。命令
    hdfs dfs -renameSnapshot   
参数
    path:snaphottable目录的路径。    oldName:原快照名称。    newName:新快照名称。
另请参见FileSystem中对应的Java API void renameSnapshot(Path path,String oldName,String newName)。获取Snapshottable目录列表
获取当前用户有权拍摄快照的所有快照表目录。命令
    hdfs lsSnapshottableDir
另请参见DistributedFileSystem中的相应Java API SnapshottableDirectoryStatus [] getSnapshottableDirectoryListing()。获取快照差异报告获取两个快照之间的差异。 此操作需要两个快照中的所有文件/目录的读访问权限。命令
    hdfs snapshotDiff   
参数
    path:snaphottable目录的路径。    fromSnapshot:原快照。    toSnapshot:要对比的快照。
结果
    + 文件或者目录被创建。    – 文件或者目录被删除。    M 文件或者目录已修改。    R 文件/目录已重命名。
RENAME条目表示文件/目录已重命名,但仍位于相同的snaphottable目录下。 如果将文件/目录重命名为snapshottble目录之外,则将其报告为已删除。 从snapshottble目录之外重命名的文件/目录将报告为新创建。快照差异报告不保证相同的操作顺序。 例如,如果我们将目录“/ foo”重命名为“/ foo2”,然后将新数据附加到文件“/ foo2 / bar”,差异报告将是:
    R. /foo -> /foo2    M. /foo/bar
即,使用重命名之前的原始路径(上例中的“/ foo / bar”)报告重命名的目录下的文件/目录的更改。另请参见DistributedFileSystem中的相应Java API SnapshotDiffReport getSnapshotDiffReport(Path path,String fromSnapshot,String toSnapshot)。
 
   

本文由职坐标整理发布,学习更多的大数据技术相关知识,请关注职坐标大技术云计算大技术技术频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved