HDFS シェルは、Hadoop Distributed File System(HDFS)によって提供されるコマンドラインツールです。 LindormDFS は HDFS と完全に互換性があります。 HDFS シェルを使用して、LindormDFS に保存されているファイルを管理できます。 たとえば、ファイルのクエリ、ファイルの削除、ファイル権限の管理、ファイル名の変更を行うことができます。 このトピックでは、HDFS シェルの一般的なコマンドについて説明し、例を示します。
注意事項
基盤となるファイルシステムは、複数の NameNode を使用する高可用性 (HA) システムです。プライマリ NameNode がフェールオーバーした場合のアクセス障害を防ぐために、自動フェールオーバーメカニズムを設定する必要があります。このメカニズムの設定方法の詳細については、「Hadoop の設定」をご参照ください。
環境
環境の構成方法の詳細については、「クライアントのダウンロード」および「Apache Hadoop の構成」をご参照ください。
一般的なコマンド
データのアップロード
次の表に、ローカルパスから LindormDFS にデータをアップロードするために一般的に使用されるコマンドを示します。
コマンド | 説明 |
put | このコマンドは、ローカルファイルシステム内の 1 つ以上のソースパスから LindormDFS にファイルをコピーします。 また、このコマンドを実行して標準入力(stdin)からデータを読み取り、入力データを LindormDFS に書き込むこともできます。 |
copyFromLocal | このコマンドは put コマンドに似ています。 ただし、このコマンドで指定されたソースパスはローカルパスである必要があります。 |
moveFromLocal | このコマンドは、ローカルファイルシステムから LindormDFS にファイルを移動します。 |
appendToFile | ローカルファイルシステムから 1 つ以上のソースファイル ( |
データの処理
次の表に、LindormDFS に保存されているデータを処理するために一般的に使用されるコマンドを示します。
コマンド | 説明 |
cp | このコマンドは、ソースパスから宛先パスにファイルをコピーします。 このコマンドを実行して、複数のソースパスから宛先パスにファイルをコピーできます。 この場合、宛先パスはディレクトリである必要があります。 |
mv | このコマンドは、ソースパスから宛先パスにファイルを移動します。 このコマンドを実行して、複数のソースパスから宛先パスにファイルをコピーできます。 この場合、宛先パスはディレクトリである必要があります。 ファイルを異なるファイルシステム間で移動することはできません。 |
chown | このコマンドは、1 つ以上のファイルの所有者を変更します。 -R オプションを指定すると、ディレクトリ構造全体にわたって再帰的に変更が加えられます。 コマンドを実行するユーザーは、スーパーユーザー権限を持っている必要があります。 |
chgrp | このコマンドは、ファイルが属するグループを変更します。 -R オプションを指定すると、ディレクトリ構造全体にわたって再帰的に変更が加えられます。 コマンドを実行するユーザーは、ファイルの所有者またはスーパーユーザーである必要があります。 |
chmod | このコマンドは、ファイルの権限を変更します。 -R オプションを指定すると、ディレクトリ構造全体にわたって再帰的に変更が加えられます。 コマンドを実行するユーザーは、ファイルの所有者またはスーパーユーザーである必要があります。 |
mkdir | パス URL をパラメーターとして受け取り、指定されたフォルダを作成します。この動作は、パスに沿って親フォルダを作成する Unix の |
du | このコマンドは、ディレクトリ内の各ファイルのサイズを表示するか、指定されたファイルのサイズを表示します。 |
df | ファイルの使用状況を表示できます。 |
cat | このコマンドは、パスで指定されたファイルの内容を標準出力(stdout)にコピーします。 |
rm | このコマンドは、指定されたファイルを削除します。 空でないディレクトリとファイルのみを削除できます。 |
ls |
|
データのダウンロード
次の表に、LindormDFS からローカルストレージにデータをダウンロードするために一般的に使用されるコマンドを示します。
コマンド | 説明 |
get | このコマンドは、LindormDFS からローカルファイルシステムにファイルをコピーします。 -ignorecrc オプションを指定して、巡回冗長検査(CRC)に失敗したファイルをコピーできます。 -crc オプションを指定して、CRC 情報を含むファイルをコピーできます。 |
getmerge | このコマンドは、ソースディレクトリと宛先ファイルを 入力として受け取り、ソースディレクトリ内のファイルをローカルの宛先ファイルに連結します。 |
copyToLocal | このコマンドは get コマンドに似ています。 ただし、このコマンドで指定された宛先パスはローカルパスである必要があります。 |
help コマンドを実行して、HDFS シェルでサポートされているすべてのコマンドを表示できます。 詳細については、「Apache HDFS シェルの概要」をご参照ください。
例
サンプルコードを使用するときは、${instance ID} をお使いの Lindorm インスタンス ID に置き換えてください。
指定されたディレクトリ内のすべてのファイルをクエリします。
${HADOOP_HOME}/bin/hadoop fs -ls hdfs://${Instance ID}/ローカルファイルを LindormDFS にアップロードします。
${HADOOP_HOME}/bin/hadoop fs -put test.txt hdfs://${Instance ID}/指定されたローカルパスにファイルをダウンロードします。
${HADOOP_HOME}/bin/hadoop fs -get hdfs://${Instance ID}/${filename}このコマンドでは、
${filename}はダウンロードするファイルの名前を表します。ファイルを削除します。
${HADOOP_HOME}/bin/hadoop fs -rm hdfs://${Instance ID}/${filename}ここで、
${filename}はダウンロードするファイルの名前です。説明上記のコマンドは、ファイルを完全に削除するのではなく、
Trashフォルダに移動します。ファイルを完全に削除するには、hadoop fs -expunge コマンドを実行してゴミ箱を空にします。