• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > hadoop2.x HDFS快照介绍,hadoop2.xhdfs快照

hadoop2.x HDFS快照介绍,hadoop2.xhdfs快照

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含hadoop2.x集群搭建,hadoop2.x,hadoop2.x视频教程,hadoop2.x安装,hdfs等服务器相关知识,网友希望可以进行参考

hadoop2.x HDFS快照介绍,hadoop2.xhdfs快照


说明:因为最近正好在研究hadoop的快照机制,看官网上的文档讲的很细致,就顺手翻译了。也没有去深究一些名词的标准译法,所以可能有些翻译和用法不是很正确,莫要介意~~

原文地址:(Apache hadoop的官方文档) https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html


1. 概述

快照snapshots是HDFS文件系统的只读的基于某时间点的拷贝,可以针对某个目录,或者整个文件系统做快照。快照比较常见的应用场景是数据备份,以防一些用户错误或灾难恢复。

快照的高效性实现:
(1) 快照可以即时创建,耗时仅为O(1)。--excluding the inode lookup time

(2) 只有当涉及到快照目录的修改被执行时,才会产生额外的内存消耗。而且内存消耗为O(M),其中M是被修改的文件或目录数。

(3) 创建快照时,block块并不会被拷贝。快照文件中只记录了block列表和文件大小,不会做任何数据拷贝。

(4) 快照不会对正常的HDFS操作有任何影响:创建快照以后发生的修改操作,被按操作时间的倒序(from newer to older)记录下来。所以当前的数据能被直接获取,而快照点的数据,则通过在当前的数据基础上减去执行过的操作来获取。

-- 所以我理解时间越久的快照,要获取就需要越长的时间。 


1.1 快照目录

我们可以在任何被设置为snapshottable的目录上执行快照,对一个目录最多可以创建65536个快照。管理员可以把任何目录设置为snapshottable,没有限制。如果一个目录下已经存在快照,那么只有当先删除所有快照后才能对这个目录进行删除和重命名等操作。

不允许嵌套的snapshottable目录。也就是说,如果一个目录被设置为snapshottable,那么它的父目录和子目录都不允许被设置为snapshottable。


1.2 快照路径

快照被存放在一个被命名为.snapshot的目录中。比如/foo是一个snapshottable目录,/foo中有一个目录为/foo/bar,对/foo创建一个快照s0。那么 
/foo/.snapshot/s0/bar
就是/foo/bar目录对应的快照。可以通过".snapshot"路径直接访问和操作快照数据。例如:
  • 列出一个目录的所有快照:
hdfs dfs -ls /foo/.snapshot
  • 列出快照s0中的所有文件:
hdfs dfs -ls /foo/.snapshot/s0
  • 从快照中复制文件:

hdfs dfs -cp /foo/.snapshot/s0/bar /tmp


2. 快照操作


2.1 快照管理

只有集群的管理员才有权限进行如下操作。

允许快照

把一个目录设置为snapshottable,就是设置允许对一个目录创建快照。

hdfs dfsadmin -allowSnapshot <path>

对应的API为HdfsAdmin中的void allowSnapshot(Path path)。

禁止快照

把原本snapshottable的目录设置为禁止快照,不允许对该目录创建快照。在对一个目录设置禁止快照之前,要先删除该目录的所有快照。

hdfs dfsadmin -disallowSnapshot <Path>

对应的API为HdfsAdmin中的void disallowSnapshot(Path path)。


2.2 用户操作


创建快照 

为一个目录创建快照,只有目录的所属人权限能为这个目录创建快照。

hdfs dfs -createSnapshot <Path> [<snapshotName>]

snapshotName是要创建的快照名,如果没有定义,默认取当前时间戳作为快照名。类似”"s20130412-151029.033“。

对应的API为FileSystem中的Path createSnapshot(Path path)和Path createSnapshot(Path path, String snapshotName)。

删除快照

删除一个snapshottable目录的一个快照。删除操作也需要目录的所属人权限。

hdfs dfs -deleteSnapshot <Path> <snapshotName>

对应的API为FileSystem中的void deleteSnapshot(Path path, String snapshotName)。

重命名快照

重命名一个快照。也需要该目录的所属人权限。

hdfs dfs -renameSnapshot <Path> <oldName> <newName>

对应的API为FileSystem中的void renameSnapshot(Path path, String oldName, String newName)。

列出所有允许快照目录

列出所有当前用户有权限获取的,允许快照的目录。

hdfs lsSnapshottableDir

对应的API为DistributeFileSystem中的snapshottableDirectoryStatus[] getSnapshottableDirectoryListing()。

对比快照

对比两个快照。这个操作需要用户对两个快照目录同时具有读权限。

hdfs snapshotDiff <Path> <fromSnapshot> <toSnapshot>

对应API为DistributeFileSystem中的SnapshotDiffReport getSnapshotDiffReport(Path path, String fromSnapshot, String toSnapshot)。





分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • hadoop2.x编译(三),hadoop2.x编译
  • hadoop1 &amp; hadoop2 fair-schduler 配置和使用,hadoop
  • hadoop2.x HDFS快照介绍,hadoop2.xhdfs快照
  • Hadoop2伪分布模式安装,hadoop2分布模式

相关文章

  • spark core源码分析8 从简单例子看transformation,transformation
  • Hadoop平台安装前准备,hadoop平台准备
  • Linux、hive、sqoop常用脚本,hivesqoop
  • openstack--计算节点安装(Node),openstack--node
  • 【Spark1.3官方翻译】Spark集群模式概览,spark1.3spark
  • 机器学习--k-近邻(kNN)算法案例,--k-knn
  • kerberos下HBase访问Zookeeper的ACL问题,hbasezookeeper
  • 你真的了解OpenStack吗?学过的人,都知道!,了解openstack
  • LXC学习,学习中国app上线
  • OpenStack Kilo版本新功能分析,openstackkilo

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • CDH安装官方教程,cdh官方教程
    • 《3》CentOS7.0+OpenStack+kvm云平台部署—配置Glance,《3》kvm
    • 你真的了解OpenStack吗?学过的人,都知道!,了解openstack
    • Maven构建Hadoop Web项目,maven构建hadoopweb
    • 机器学习数学基础- gradient descent算法(上),gradientdescent
    • kafka集群搭建,kafka集群
    • 如何解决Greenplum master node与seg node元数据不一致,greenplumseg
    • 各种分布式文件系统的比较,文件
    • Understanding Cubert Concepts(二)Co-Partitioned Blocks,partitioned
    • hadoop2企业级集群部署(DNS域名解析+NFS密钥共享+AWK批量复制),hadoop2awk

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有