Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

将 Hadoop 备份到 PowerScale

Summary: 本文介绍了将非 Isilon Hadoop 环境备份到 Isilon 群集的建议最佳实践。

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Instructions

提醒:本主题是使用 Hadoop 和 OneFS 信息中心的一部分。


使用 DistCp 备份 Hadoop 的最佳实践

本文介绍了将非 PowerScale Hadoop 环境备份到 Dell PowerScale 群集的建议最佳实践。Dell PowerScale 强大的纠删码数据保护可提供高于 80% 的存储效率,使其成为 Hadoop 群集上数据的理想备份目标。DistCp(分布式复制)是所有 Hadoop 发行版和版本附带的标准工具。DistCp 可以复制整个 Hadoop 目录。DistCp 作为 MapReduce 作业运行,完全使用您的系统(如果需要)并行执行文件复制。还有一个选项可以限制带宽,以控制对其他任务的影响。

环境
本文使用以下测试环境:

  • Pivotal HD (PHD) 2.0.1,使用 Pivotal Control Center 2.0 安装,所有设置都使用默认值。具体而言,HDFS 安装在 PHD 节点上,用于传统 DAS 配置。
  • PowerScale OneFS 7.2.0

由于 DistCp 是标准 Hadoop 工具,因此本文档中概述的方法适用于大多数 Hadoop 发行版和版本。

阅读本文档时,请假设要备份的数据位于 PHD Hadoop HDFS 群集上的 /mydata目录中。示例会将这些数据备份到 PowerScale 群集的 /Ifs/hadoop/backup/mydata 目录中.

将 Hadoop 群集备份到 Isilon
图 1:将 Hadoop 群集备份到 Isilon


备份方法:

最简单的备份方法

最简单的备份命令如下所示:

[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update /mydata hdfs://all-nc-s-hdfs/backup/mydata

您可以在任何安装了 Hadoop 客户端 (hadoop) 的主机上运行上述命令。运行此命令的用户必须具有读取源文件和写入目标文件的权限。

必须指定 -skipcrccheck-update 选项,以避免对存储在 PowerScale 群集上的目标文件进行 CRC 检查。PowerScale 不存储 Hadoop CRC,计算它的成本会太高。因此,这些选项是防止与 CRC 检查相关的错误所必需的。

下一个参数“/mydata”是源 Hadoop 群集上的源路径。您也可以使用“/”来备份整个 HDFS 命名空间。由于路径不是完全限定,因此它使用 core-site.xml 的 fs.defaultFS 参数中指定的 HDFS NameNode。

最后一个参数“hdfs://all-nc-s-hdfs/backup/mydata”是 PowerScale 群集上的目标路径。主机部分“all-nc-s-hdfs”可以是相对或完全限定的 DNS 名称,例如 all-nc-s-hdfs.example.com。它应该是 PowerScale 群集的 SmartConnect 分区 DNS 名称。目录部分“/backup/mydata”相对于 PowerScale 群集访问分区中定义的 HDFS 根路径。如果您的 HDFS 根路径为 /ifs/hadoop,则此值是 /ifs/hadoop/backup/mydata

源目录和目标目录中大小相同的文件被认为保持不变并且没有复制。具体而言,文件时间戳没有用于确定更改的文件。有关 DistCp 的更多详细信息,请参阅 Hadoop DistCp 版本 2 指南此超链接会将您带往 Dell Technologies 之外的网站。

复制权限
默认情况下,对于发起 DistCp 的用户创建的新文件,目标文件的所有者、组和权限会重置为默认值。为源文件定义的任何所有者、组和权限都会丢失。要保留源文件中的此信息,请使用 -p 选项。由于 -p 选项必须执行 chown/chgrp,因此发起 DistCp 的用户必须是目标系统上的超级用户。PowerScale 群集上的 root 用户可用于此目的。例如: 

[root@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update -pugp /mydata hdfs://all-nc-s-hdfs/backup/mydata

为备份源创建快照
大型数据集的备份可能需要很长时间。在扫描目录结构时,DistCp 进程开始时存在的文件在该文件复制后可能不再存在。文件中的这种更改会导致错误。此外,应用程序可能需要一致的单个时间点备份才能使用。为避免这些问题,建议您创建源的 HDFS 快照,以确保数据集在备份过程中不会更改。这与目标 PowerScale 群集的 SnapshotIQ 功能无关。

要使用 HDFS 快照,您必须先允许特定目录的快照:

[gpadmin@phddas2-0 ~]$ hdfs dfsadmin -allowSnapshot /mydata
Allowing snapshot on /mydata succeeded


在使用 DistCp 进行备份之前,创建 HDFS 快照:

[gpadmin@phddas2-0 ~]$ hdfs dfs -createSnapshot /mydata backupsnap Created snapshot /mydata/.snapshot/backupsnap

此快照的名称是 backupsnap。您可以通过 HDFS 路径 /mydata/.snapshot/backupsnap 访问它。在此快照创建之后发生的任何 HDFS 文件更改都不会反映在后续备份中。您可以使用以下命令将快照备份到 PowerScale:

[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update /mydata/.snapshot/backupsnap hdfs://all-nc-s-hdfs/backup/mydata

当备份命令完成运行后,您可以删除快照。这样做可以释放用于保存自快照以来修改的旧版本文件的空间:

[gpadmin@phddas2-0 ~]$ hdfs dfs -deleteSnapshot /mydata backupsnap

为备份目标创建 PowerScale 快照
除了为备份源创建快照之外,还建议您保留备份目标目录的多个快照,以用于恢复较旧版本的文件。

要在 PowerScale 上创建快照,您必须具有 SnapshotIQ 许可证。您可以使用 Web 管理员界面或 CLI 创建快照。要使用 CLI 手动创建单个 PowerScale 快照,请通过 SSH 连接到任意 PowerScale 节点并运行以下命令:

all-nc-s-1# isi snapshot snapshots create /ifs/hadoop/backup/mydata --name backup-2014-07-01 --expires 1D --verbose
Created snapshot backup-2014-07-01 with ID 6


您可以将此命令添加到下面的“计划备份”部分中讨论的备份过程。

有关 PowerScale OneFS 快照的更多详细信息,请参阅适用于您的 OneFS 版本的 PowerScale OneFS CLI 管理指南:PowerScale OneFS 信息中心

多个 PowerScale 群集的 SYNCIQ 复制
使用 DistCp 备份到 PowerScale 群集完成后,您可以使用 OneFS SyncIQ 通过 WAN 将快照复制到其他 PowerScale 群集。复制的快照可以为灾难恢复策略提供多功能且高效的组件。

多个 Isilon 群集的 SynIQ 复制
图 2:多个 Isilon 群集的 SynIQ 复制

处理已删除的文件
默认情况下,从源 Hadoop 群集中删除的文件不会从目标 Hadoop 群集中删除。如果您需要删除,请将 -delete 参数添加到 DistCp 命令。使用此命令时,建议为备份目标创建快照,以防需要恢复已删除的文件。

计划备份
您可以使用各种方法自动执行和计划备份 Hadoop 群集的步骤。Apache Oozie 通常用于自动执行 Hadoop 任务,并且它直接支持 DistCp。CRON 还可用于运行 Shell 脚本。要在 SSH 会话中自动运行命令,请启用无密码 SSH。无密码 SSH 允许 CRON 用户连接到 Hadoop 客户端和 PowerScale 群集(如果使用 SnapshotIQ)。


恢复方法

反向运行 DISTCP

将 DistCp 备份从 PowerScale 恢复到传统 Hadoop 基础架构的标准方法是以相反的方向运行 DistCp。您可以通过交换源路径和目标路径来实现此目的。

[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update hdfs://all-nc-s-hdfs/backup/mydata /mydata

建议您创建目标目录的快照,以便能够撤销在恢复过程中出现的任何错误。但是,请注意维护快照所需的额外磁盘使用量。


使用 HDFS 直接访问备份数据

由于 PowerScale 支持 HDFS,因此您可以通过与源文件相同的方式从 Hadoop 应用程序访问 PowerScale 上的备份目标文件。您可以直接使用备份数据,而无需先将其恢复到原始源 Hadoop 环境。此功能可节省分析时间。例如,如果您运行这样的 MapReduce 命令:

hadoop jar /usr/lib/gphd/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep /mydata/mydataset1 output1 ABC

您可以使用以下命令针对 PowerScale 上的备份数据集运行 MapReduce 作业:

hadoop jar /usr/lib/gphd/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep hdfs://all-nc-s-hdfs/backup/ /mydata/mydataset1 output1 ABC

要指定完全限定的 Hadoop 路径,而不是使用 fs.defaultFS 参数,请与您的应用程序提供商确认详细信息。此外,专为备份和归档而非高性能而设计的 PowerScale 群集可能无法提供与主 Hadoop 环境相同的性能。建议您进行测试,或咨询 Dell PowerScale 以进行适当的规模调整。


从 PowerScale 快照恢复

您可以从以前的 PowerScale 快照恢复文件。文件位于 /ifs/.snapshot 目录中。有关详细信息和其他选项,请参阅 PowerScale OneFS CLI 管理指南

HDFS 版本兼容性
PowerScale 与多个版本的 HDFS 兼容。您可以同时使用它们来访问同一数据集。PowerScale 可以自动检测每个连接的相应 HDFS 版本,而无需任何配置。有关受支持的 Hadoop 发行版和版本的列表,请参阅 PowerScale OneFS CLI 管理指南,或转至 OneFS 支持的 Hadoop 发行版和产品。版本兼容性意味着运行不同版本 Hadoop 的多个 Hadoop 环境可以使用 HDFS 备份到单个 PowerScale 群集。

如果 PowerScale 不支持您的 Hadoop 版本,您仍然可以使用 DistCp,通过 HFTP 和 PowerScale 备份和恢复 Hadoop 数据。例如,PowerScale OneFS 7.1.1 及更低版本不支持 PHD 2.0 及更高版本。在此配置中,您必须使用 PowerScale 直接支持的 Hadoop 版本构建小型 Hadoop 群集。构建 Hadoop 群集后,使用 HFTP 协议在此新群集上运行 DistCp,以访问原始 Hadoop 群集上的源数据。HFTP 协议是兼容不同版本 Hadoop 的只读文件系统。例如:
[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update hftp://phddas2-namenode-0/mydata hdfs://all-nc-s-hdfs/backup/mydata

运行 DistCp MapReduce 作业的新小型群集的大小主要取决于所需的吞吐量。如果您只需要以 10 Gbps 的速度进行备份,则只需要一个 Hadoop 节点。您的任何数据都不存储在这个小型 Hadoop 群集上,因此磁盘需求极小。

使用不兼容的协议版本将 Hadoop 群集备份到 Isilon
图 3:使用不兼容的协议版本将 Hadoop 群集备份到 Isilon


结论

Dell PowerScale 是适用于 Hadoop 和其他大数据应用程序的出色平台。它使用纠删码来保护数据,存储效率超过 80%,而传统 HDFS 的存储效率仅有 33%。Dell PowerScale 有多种类别的节点类型,从高密度的 NL400 到高性能的 S210,以及介于两者之间的 X410。不同的节点类型允许您针对特定工作负载优化不同的 PowerScale 层。将传统 Hadoop 环境备份到 PowerScale 非常简单,并支持最密集的可用 HDFS 备份目标。

Article Properties


Affected Product

Isilon, PowerScale OneFS, Isilon with HDFS

Last Published Date

20 Sep 2023

Version

6

Article Type

How To