はじめに
このチュートリアルでは、Hadoopの分散ファイルシステム(HDFS)のゴミ箱ディレクトリから削除されたファイルを回復するプロセスを案内します。重要なファイルを誤って削除した場合でも、データを復元する必要がある場合でも、この記事では失われた情報を取り戻し、Hadoopクラスタの整合性を維持するために必要な手順を提供します。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
このチュートリアルでは、Hadoopの分散ファイルシステム(HDFS)のゴミ箱ディレクトリから削除されたファイルを回復するプロセスを案内します。重要なファイルを誤って削除した場合でも、データを復元する必要がある場合でも、この記事では失われた情報を取り戻し、Hadoopクラスタの整合性を維持するために必要な手順を提供します。
Hadoop分散ファイルシステム(HDFS)は、ビッグデータ処理のためにHadoopフレームワークで使用される主要なストレージシステムです。HDFSは、大規模なデータセットに対して信頼性が高く、拡張性があり、耐障害性のあるストレージを提供するように設計されています。
HDFSは、汎用ハードウェア上で動作する分散ファイルシステムです。アプリケーションデータへの高スループットなアクセスを提供するように設計されており、大規模なデータセットを持つアプリケーションに適しています。HDFSはマスター・スレーブアーキテクチャに従っており、単一のNameNodeがファイルシステムの名前空間を管理し、クライアントによるファイルへのアクセスを調整します。一方、複数のDataNodeがデータの保存と取得を行います。
HDFSアーキテクチャは、NameNodeと複数のDataNodeで構成されています。NameNodeはファイルシステムの名前空間を管理する責任があり、DataNodeはデータブロックの保存と取得を行います。
HDFSは、ファイルシステムとやり取りするための一連のコマンドラインツールを提供しています。一般的なHDFSコマンドには以下のようなものがあります。
コマンド | 説明 |
---|---|
hdfs dfs -ls |
ディレクトリの内容を表示する |
hdfs dfs -put |
ローカルファイルシステムからHDFSにファイルをコピーする |
hdfs dfs -get |
HDFSからローカルファイルシステムにファイルをコピーする |
hdfs dfs -rm |
HDFSからファイルまたはディレクトリを削除する |
HDFSは、ユーザーが誤って削除したファイルを回復するのを助けるゴミ箱(Trash)機能を提供しています。HDFSでファイルが削除されると、まずそのファイルは完全に削除される代わりにゴミ箱ディレクトリに移動されます。
HDFSのゴミ箱機能はデフォルトでは無効になっています。この機能を有効にするには、core-site.xml
設定ファイルを変更し、以下のプロパティを設定する必要があります。
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>0</value>
</property>
fs.trash.interval
プロパティは、ゴミ箱ディレクトリの内容が完全に削除されるまでの分数を指定します。fs.trash.checkpoint.interval
プロパティは、ゴミ箱ディレクトリがチェックポイントされる頻度を設定します。
HDFSでファイルが削除されると、まずそのファイルはゴミ箱ディレクトリに移動されます。以下のコマンドを使用してファイルを削除し、ゴミ箱に移動することができます。
hdfs dfs -rm /path/to/file
削除されたファイルは、/user/<username>/.Trash/
にあるゴミ箱ディレクトリで利用可能になります。
ゴミ箱ディレクトリの内容を完全に削除するには、以下のコマンドを使用できます。
hdfs dfs -expunge
これにより、ゴミ箱ディレクトリからすべてのファイルが削除され、これらのファイルはもはや回復できなくなります。
誤って削除されたファイルを復元する必要がある場合は、以下のコマンドを使用してゴミ箱ディレクトリからファイルをコピーし戻すことができます。
hdfs dfs -mv /.Trash/Current/path/to/file /path/to/restore
これにより、ファイルはゴミ箱ディレクトリから元の場所に戻されます。
HDFSでファイルが削除されると、まずそのファイルはゴミ箱ディレクトリに移動され、そこに指定された期間保存された後で完全に削除されます。これにより、ユーザーは誤って削除したファイルを回復することができます。
ゴミ箱ディレクトリ内の削除されたファイルを見つけるには、以下のコマンドを使用できます。
hdfs dfs -ls /.Trash/Current/
これにより、現在ゴミ箱内にあるすべてのファイルとディレクトリが一覧表示されます。
ゴミ箱ディレクトリから削除されたファイルを復元するには、以下のコマンドを使用できます。
hdfs dfs -mv /.Trash/Current/path/to/file /path/to/restore
これにより、ファイルはゴミ箱ディレクトリから元の場所に戻されます。
ゴミ箱ディレクトリの内容を完全に削除したい場合は、以下のコマンドを使用できます。
hdfs dfs -expunge
これにより、ゴミ箱ディレクトリからすべてのファイルが削除され、これらのファイルはもはや回復できなくなります。
HDFSのゴミ箱機能は、削除されたファイルの保持期間を制御するように設定できます。core-site.xml
設定ファイルを変更し、以下のプロパティを設定することができます。
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>0</value>
</property>
fs.trash.interval
プロパティは、ゴミ箱ディレクトリの内容が完全に削除されるまでの分数を指定します。fs.trash.checkpoint.interval
プロパティは、ゴミ箱ディレクトリがチェックポイントされる頻度を設定します。
HDFSのゴミ箱機能を理解し、活用することで、誤って削除されたファイルを効果的に回復し、Hadoopクラスタ内のデータの整合性を維持することができます。
このHadoopチュートリアルの指示に従うことで、ゴミ箱ディレクトリを効果的に管理する方法、削除されたファイルを回復するプロセスを理解し、Hadoop HDFSデータの安全性と信頼性を確保することができます。この知識を活用することで、堅牢で適切に管理されたHadoopエコシステムを維持し、データ回復のシナリオを自信を持って処理し、貴重な情報を保護することができます。