赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 对象存储
  4. 操作指南
  5. 数据湖管理
  6. OSS-HDFS服务
  7. 数据管理
  8. 常用Shell命令
  9. Snapshot(通过快照备份和恢复数据)

Snapshot(通过快照备份和恢复数据)

  • 常用Shell命令
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

当您希望对OSS-HDFS服务的数据进行备份,在数据发生错误、被误删除时,将数据恢复至可用状态,您可以使用Snapshot命令创建快照。OSS-HDFS服务的快照功能与HDFS的快照功能完全兼容,同时支持目录层级操作。

重要

此功能目前尚处于试用和小规模使用阶段,不建议大规模生产使用。

前提条件

  • 已创建Hadoop环境、Hadoop集群或者Hadoop客户端。具体操作,请参见创建Hadoop运行环境。

  • 已开通OSS-HDFS服务。具体操作,请参见开通OSS-HDFS服务。

  • 已配置4.5.0及以上版本JindoSDK 。具体操作,请参见非EMR集群接入OSS-HDFS服务快速入门。

步骤1:配置环境变量

  1. 连接ECS实例。具体操作,请参见连接ECS实例。

  2. 进入已安装的JindoSDK JAR包下的bin目录。

    以下以jindosdk-x.x.x-linux为例,如使用其他版本的JindoSDK,请替换为对应的JAR包名称。

    cd jindosdk-x.x.x-linux/bin/
    说明

    x.x.x表示JindoSDK JAR包版本号。

  3. 授予bin目录下的jindo-util文件的读、写、执行的权限。

    chmod 700 jindo-util
  4. 将jindo-util文件重命名为jindo。

    mv jindo-util jindo
  5. 新建配置文件jindosdk.cfg,添加以下配置项。

    [common]保持以下默认配置。
    logger.dir = /tmp/jindo-util/
    logger.sync = false
    logger.consolelogger = false
    logger.level = 0
    logger.verbose = 0
    logger.cleaner.enable = true
    hadoopConf.enable = false
    
    [jindosdk]自定义以下配置项。
    <!-- 以下以杭州地域为例,其他地域请根据实际情况替换。 -->
    fs.oss.endpoint = cn-hangzhou.oss-dls.aliyuncs.com
    <!-- 配置访问OSS-HDFS服务的AccessKeyId、AccessKeySecret。 -->
    fs.oss.accessKeyId = LTAI********    
    fs.oss.accessKeySecret = KZo1********                                        
  6. 设置环境变量。

    export JINDOSDK_CONF_DIR=<JINDOSDK_CONF_DIR>

    <JINDOSDK_CONF_DIR>填写jindosdk.cfg 配置文件所在的绝对路径。

步骤2:执行快照相关操作

假设您拥有名为examplebucket的Bucket,并在该Bucket下创建了名为exampledir的目录。

开启快照功能

执行以下命令开启快照功能。

./jindo admin -allowSnapshot -dlsUri oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir

关于配置Endpoint的具体操作,请参见JindoFS服务Endpoint。

创建快照

  1. 新建子目录和文件。

    在exampledir目录下新建子目录dir1以及dir2以及文件file1和file2。

    hdfs dfs -mkdir oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir/dir1
    hdfs dfs -mkdir oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir/dir2
    hdfs dfs -touchz oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir/file1.txt
    hdfs dfs -touchz oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir/file2.txt
  2. 为exampledir创建名为S1的快照。

    hdfs dfs -createSnapshot oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir S1

重命名快照

将快照S1重命名为S2。

hdfs dfs -renameSnapshot oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir S1 S2

访问快照中的目录和文件

访问exampledir的子目录dir1。

hdfs dfs -ls oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir/dir1

访问快照S1中的目录和文件。

hdfs dfs -ls oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir/.snapshot/S1/dir1

对比快照内容

对比快照S1与快照S2的差异。

./jindo admin -snapshotDiff \
                -dlsUri oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir \
                -fromSnapshot S1 \
                -toSnapshot S2

通过快照恢复数据

假设您误删除了examplebucket根目录exampledir下的文件dir1。

hdfs dfs -rm -r oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir/dir1

恢复误删除数据。

hdfs dfs -cp oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir/.snapshot/S1/dir1  oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir

完成数据恢复后,查看误删除的文件夹或者文件:

hdfs dfs -ls oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir/dir1

删除快照

删除不再需要保留的快照S1以及S2。

  • 删除快照S1

    hdfs dfs -deleteSnapshot oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir S1
  • 删除快照S2

    hdfs dfs -deleteSnapshot oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir S2

关闭快照功能

当您不再需要使用快照功能时,执行如下命令关闭快照功能。

./jindo admin -disallowSnapshot -dlsUri oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampledir
重要

关闭快照功能前,请确保已删除目标路径下的所有快照。否则,关闭快照功能将会报错。

相关文章

Snapshot(通过快照备份和恢复数据) 2025-04-21 18:15

当您希望对OSS-HDFS服务的数据进行备份,在数据发生错误、被误删除时,将数据恢复至可用状态,您可以使用Snapshot命令创建快照。OSS-HDFS服务的快照功能与HDFS的快照功能完全兼容,同时支持目录层级操作。

ProxyUser(配置代理用户) 2025-04-21 18:15

ProxyUser命令用于授权一个用户代表其他用户进行相关操作,例如某些敏感数据只允许授权的指定用户代表其他用户进行访问。 前提条件

UserGroupsMapping(管理用户和用户组映射) 2025-04-21 18:15

UserGroupsMapping命令是与用户组映射相关的命令,用于管理和查询用户和用户组映射的信息。 前提条件

CallerContext(记录操作的发起者) 2025-04-21 18:15

CallerContext命令用于在服务端审计日志中记录命名空间调用的发起者。开启CallerContext功能后,审计日志将显示Mapreduce作业、Spark作业、Hadoop命令等操作的发起者。 前提条件 已创建ECS实例。具体步骤,请参见选购ECS实例。

ArchiveDirectRead(归档直读) 2025-04-21 18:15

归档直读是指直接访问OSS-HDFS服务中归档存储类型的文件,而无需先对其解冻。归档直读适用于实时读取极少需要访问的数据场景。 前提条件 已创建ECS实例。具体步骤,请参见选购ECS实例。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号