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.

PowerScaleへのHadoopのバックアップ

Summary: この記事では、Isilon以外のHadoop環境をIsilon Clusterにバックアップするための推奨されるベスト プラクティスについて説明します。

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

メモ: このトピックは、「OneFSでHadoopを使用する方法に関する情報ハブ」の一部です。


DistCpを使用してHadoopをバックアップするためのベスト プラクティス

この記事では、PowerScale Hadoop以外の環境をDell PowerScale Clusterにバックアップするための推奨されるベスト プラクティスについて説明します。Dell PowerScaleは、80%を超えるストレージ効率を実現する堅牢な消失訂正符号データ保護機能を備えており、Hadoopクラスター上のデータにとって理想的なバックアップ ターゲットです。DistCp(分散コピー)は、すべてのHadoopディストリビューションとバージョンに付属する標準ツールです。DistCpはHadoopディレクトリー全体をコピーできます。DistCpはMapReduceジョブとして実行され、必要に応じてシステムを完全に使用して並列でファイル コピーを実行します。他のタスクへの影響を制御するために帯域幅を制限するオプションもあります。

環境
この記事では、次のテスト環境を使用します。

  • Pivotal Control Center 2.0を使用してインストールされたPivotal HD (PHD) 2.0.1では、すべての設定でデフォルト値が使用されます。特に、HDFSは従来のDAS構成のPHDノードにインストールされます。
  • PowerScale OneFS 7.2.0

DistCpは標準のHadoopツールであるため、このドキュメントに記載されているアプローチは、他のすべてのHadoopディストリビューションやバージョンとは言わないまでも、ほとんどに適用できます。

このドキュメントの読み取り中に、バックアップするデータが /mydataディレクトリーのPHD Hadoop HDFSクラスター上にあると仮定しますこのデータを /ifs/hadoop/backup/mydataディレクトリーのPowerScale Clusterにバックアップする例。

IsilonへのHadoopクラスターのバックアップ
図1:IsilonへのHadoopクラスターのバックアップ


バックアップ方法:

最もシンプルなバックアップ方法

最もシンプルなバックアップ コマンドを以下に示します。

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

上記のコマンドは、Hadoopクライアント(hadoop)がインストールされている任意のホストで実行できます。コマンドを実行するユーザーには、ソース ファイルを読み取り、ターゲット ファイルを書き込む権限が必要です。

PowerScale Clusterに配置されているターゲット ファイルのCRCチェックを回避するには、-skipcrccheckオプションと-updateオプションを指定する必要があります。PowerScaleはHadoop CRCを格納しないため、計算にはコストがかかりすぎます。したがって、CRCチェックに関連するエラーを防止するには、これらのオプションが必要です。

次のパラメーター「/mydata」は、ソースHadoopクラスター上のソース パスです。これは、HDFSネームスペース全体をバックアップする「/」になる場合もあります。パスは完全修飾ではないため、core-site.xmlのfs.defaultFSパラメーターで指定されたHDFS NameNodeを使用します。

最後のパラメーター「hdfs://all-nc-s-hdfs/backup/mydata」は、PowerScale Cluster上のターゲット パスです。ホスト部分「all-nc-s-hdfs」は、all-nc-s-hdfs.example.comなどの相対または完全修飾DNS名にすることができます。PowerScale ClusterのSmartConnectゾーンDNS名である必要があります。ディレクトリーの「/backup/mydata」部分は、PowerScale Clusterアクセス ゾーンで定義されているHDFSルート パスに関連しています。HDFSルート パスが /ifs/hadoopの場合、この値は /ifs/hadoop/backup/mydataを参照します。

ソース ディレクトリーとターゲット ディレクトリーでサイズが同じファイルは変更されていないと見なされ、コピーされません。特に、ファイルのタイムスタンプは、変更されたファイルの判別には使用されません。DistCpの詳細については、『Hadoop DistCp Version 2 Guideこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。を参照してください。

権限のコピー
デフォルトでは、ターゲット ファイルの所有者、グループ、権限は、DistCpを開始するユーザーによって作成された新しいファイルのデフォルトにリセットされます。ソース ファイルに定義されている所有者、グループ、権限は失われます。ソース ファイルからこの情報を保持するには、-pオプションを使用します。-pオプションはchown/chgrpを実行する必要があるため、DistCpを開始するユーザーはターゲット システム上のスーパーユーザーである必要があります。PowerScale Clusterのルート ユーザーは、この目的のために機能します。例: 

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

バックアップ ソースのスナップショットの使用
大規模なデータセットのバックアップには時間がかかる場合があります。ディレクトリー構造がスキャンされるとき、DistCpプロセスの最初に存在するファイルが、そのファイルのコピー時には存在しなくなっていることがあります。このファイルの変更により、エラーが発生します。さらに、アプリケーションを使用するには、一貫性のある単一のポイントインタイム バックアップが必要になる場合があります。これらの問題に対処するには、バックアップ プロセス中にデータセットが変更されないように、ソースのHDFSスナップショットを作成することをお勧めします。これは、ターゲットのPowerScale Clusterの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を使用して1つのPowerScaleスナップショットを手動で作成するには、任意のPowerScaleノードにSSHで接続し、次のコマンドを実行します。

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 ClusterのSYNCIQレプリケーション
PowerScale ClusterへのDistCpバックアップが完了したら、OneFS SyncIQを使用して、WAN経由で他のPowerScale Clusterにスナップショットをレプリケートできます。レプリケートされたスナップショットは、ディザスター リカバリー戦略の汎用性と効率性に優れたコンポーネントを提供できます。

複数のIsilon ClusterのSynIQレプリケーション
図2:複数のIsilon ClusterのSynIQレプリケーション

削除されたファイルの処理
デフォルトでは、ソースのHadoopクラスターから削除されたファイルはターゲットのHadoopクラスターから削除されません。この動作が必要な場合は、-delete引数をDistCpコマンドに追加します。このコマンドを使用する場合は、バックアップ ターゲットでスナップショットを使用して、削除されたファイルのリカバリーを許可することをお勧めします。

バックアップのスケジュール設定
さまざまな方法を使用して、Hadoopクラスターをバックアップする手順を自動化およびスケジュール設定できます。Apache Oozieは、Hadoopタスクの自動化によく使用され、DistCpを直接サポートしています。CRONはシェル スクリプトの実行にも使用できます。SSHセッションでコマンドの実行を自動化するには、パスワード不要のSSHを有効にします。パスワード不要のSSHを使用すると、CRONユーザーはHadoopクライアントとPowerScale Clusterに接続できます(SnapshotIQを使用している場合)。


リカバリー方法

逆方向のDISTCP

DistCpバックアップをPowerScaleから従来のHadoopインフラストラクチャにリストアする標準的な方法は、DistCpを逆方向に実行することです。これを行うには、ソース パスとターゲット パスをスワップします。

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

ターゲット ディレクトリーのスナップショットを作成して、リカバリー プロセス中に発生した誤りを元に戻すことができます。ただし、スナップショットを維持するために必要な追加のディスク使用量に注意してください。


HDFSを使用したバックアップ データへの直接アクセス

PowerScaleのバックアップ ターゲット ファイルは、PowerScaleがHDFSをサポートしているため、ソース ファイルと同じ方法でHadoopアプリケーションからアクセスできます。最初に元の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

fs.defaultFSパラメーターを使用するのではなく、完全修飾Hadoopパスを指定するには、アプリケーション プロバイダーに詳細を確認してください。また、PowerScale Clusterは、ハイ パフォーマンス用ではなく、バックアップとアーカイブ用に設計されているため、プライマリー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 Clusterにバックアップできることを意味します。

PowerScaleがお使いのHadoopバージョンをサポートしていない場合でも、DistCpを使用して、HFTPを用いてPowerScaleにHadoopデータをバックアップおよびリストアすることができます。たとえば、PHD 2.0以降は、PowerScale OneFS 7.1.1以前ではサポートされていません。この構成では、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ノードは1つで済みます。この小規模なHadoopクラスターにはデータはまったく保存されないため、ディスク要件は最小限に抑えられます。

互換性のないプロトコル バージョンを使用したIsilonへのHadoopクラスターのバックアップ
図3:互換性のないプロトコル バージョンを使用したIsilonへのHadoopクラスターのバックアップ


結論

Dell PowerScaleは、Hadoopやその他のビッグ データ アプリケーションに最適なプラットフォームです。従来のHDFSのストレージ効率が33%であるのとは対照的に、消失訂正符号を使用して80%を超えるストレージ効率でデータを保護します。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