HDFS クライアントが使用する
仮想マシン HDFS は、オープン ソースの Hadoop プラットフォームで最も頻繁に使用されるファイル システムであり、大規模なデータ ストレージと高スループットのデータ読み取りおよび書き込みを実現できます。この実験では、提供されるコマンド ライン クライアントを介して HDFS 上で一般的な操作を実装する方法をユーザーに説明します。 HDFS によるファイル検証、ファイル作成、アップロード、ダウンロード、削除、コピー、移動、名前変更、権限変更、ファイル表示、その他の操作など。これを行う前に、仮想マシン上に Hadoop 環境がセットアップされている必要があります。
###1. HDFS コマンド ヘルプの取得
初めて使用するとき、HDFS コマンドの使用方法がわからない場合は、シェルに hdfs と直接入力して Enter キーを押すと、HDFS コマンド ヘルプを取得できます。以下の図に示すように、ヘルプ情報が表示されます。 に示されているコマンドは、基本的に HDFS 管理コマンドです。
[hadoop@master hadoop-2.7.1]$ hdfs
2. HDFS での fsck コマンドの使用
2.1.classpathコマンドの使用
classpath コマンドを使用すると、classpath は現在の HDF のクラスパス情報を出力できます。
[hadoop@master hadoop-2.7.1]$ hdfs クラスパス
2.2 fsckコマンドでファイルを確認する
sck コマンドが使用され、fsck はファイル システム検証コマンドであり、多くのオプションがありますが、以下ではいくつかの一般的なオプションの使用方法を紹介し、デモンストレーションします。ローカル ファイル システムから HDFS にファイルを配置し、fsck コマンドを使用してファイルを確認します。詳細な操作は以下の通りです。
[hadoop@master local]$ cd /opt/module/hadoop-2.7.1/
[hadoop@master hadoop-2.7.1]$ echo 'Hello World!' > test
[hadoop@master hadoop-2.7.1]$ hdfs dfs -put test /user/
[hadoop@master hadoop-2.7.1]$ hdfs fsck /user/test
2.3 破損したファイルの確認と削除
破損したファイルを確認して削除します。詳細な操作は次の図に示されています
[hadoop@master hadoop-2.7.1]$ hdfs fsck /user/test -delete
2.4 検証により、対応するファイルが表示されます
指定したディレクトリまたはファイルを確認すると、該当するファイルが表示されます 詳細な動作は下図のようになります
[hadoop@master hadoop-2.7.1]$ touch test1
[hadoop@master hadoop-2.7.1]$ hdfs dfs - put test1 /user/
[hadoop@master hadoop-2.7.1]$ hdfs fsck /user/test1 -files
2.5 ファイルブロック情報の表示
指定したファイルやディレクトリを検証する場合、そのファイルのブロック情報を表示します 詳細な動作は下図のようになります
[hadoop@master hadoop-2.7.1]$ hdfs fsck /user/test -files -blocks
2.6 ブロックとブロックの位置情報
指定したファイルやディレクトリを検証する際に、ファイルブロックとそのブロックの位置情報を表示します。詳細な操作は下図に示します。表示されたblockId (例: "blk_1073741826") を記録しておきます。次の手順で使用します
。blockId は、blk_
[hadoop@master hadoop-2.7.1]$ hdfs fsck /user -files -blocks -locations の後の数字の文字列であることに注意してください。
2.7 ネットワークトポロジ内でブロックが配置されているデータノードの位置情報
指定したファイルまたはディレクトリを検証すると、ブロック情報とそのブロックが配置されているデータノードのネットワークトポロジ上の位置情報が表示されます。詳細な動作は次の図に示します [hadoop@master hadoop-2.7.1]
$ hdfs fsck /user/test - ファイル-ブロック-ラック
2.8 データストレージ情報の表示
指定したファイルまたはディレクトリのデータストレージポリシー情報を表示します 詳細な操作は下図のようになります
[hadoop@master hadoop-2.7.1]$ hdfs fsck /user/test -storagepolicies
2.9 ブロック検証の指定
指定したブロックを確認してください。詳細な動作は下図の通りです。
コマンド実行時にblkIdを実際のblockIdに置き換えてください(blockIdの取得方法は「2.6 ブロックとブロック位置情報」の手順を参照してください。 blockId は blk+number で、数値の後にアンダースコアはありません。例: blk_1073741826)
[hadoop@master hadoop-2.7.1]$ hdfs fsck -blockId blk_1073741826
3. HDFS での dfs コマンドの使用
3.1 dfs コマンドの概要
dfs コマンドの使用。dfs コマンドは、HDFS で最も一般的に使用されるコマンドです。これには多くのオプションがあります。ファイルの基本的な操作は、dfs を実行し、ファイルの読み取り、書き込み、削除などのさまざまなオプションを追加することで実現されます。 dfs コマンドを使用して実行します。一般的なオプションは次のとおりです。
3.2 ls オプションの使用
ls オプションは、指定したファイルの詳細情報を参照することができます。詳細な動作は下図のようになります
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /user/test1
3.3 cat オプションの使用
cat オプションは指定したファイルの内容を参照することができます 詳細な動作は下図に示します
[hadoop@master hadoop-2.7.1]$ hdfs dfs -cat /user/test | head -n 10
3.4 チェックサムオプションの使用
checksum オプションは、指定したファイルのチェックサムを表示できます。詳細な操作は下図に示されています
[hadoop@master hadoop-2.7.1]$ hdfs dfs -checksum /user/test
3.5 df オプションの使用
df は現在のファイルシステムの使用領域と未使用領域を表示できます。詳細な操作は下図に示されています
[hadoop@master hadoop-2.7.1]$ hdfs dfs -df
3.6 du オプションの使用
[hadoop@master hadoop-2.7.1]$ hdfs dfs -du /user
[hadoop@master hadoop-2.7.1]$ hdfs dfs -du -h /user
[hadoop@master hadoop-2.7.1]$ hdfs dfs - du -s /ユーザー
3.7 appendToFile オプションの使用
appendToFile オプションを使用すると、ローカルで指定したファイルの内容を hdfs で指定したファイルに追加できます。詳細な動作は次の図に示されています
[hadoop@master hadoop-2.7.1]$ hdfs dfs -appendToFile test /user/test
[hadoop@マスター hadoop-2.7.1 ]$ hdfs dfs -cat /user/test
3.8 プットオプションの使用
put オプションを使用すると、指定したローカル ファイルを HDFS の指定した場所に書き込むことができます。詳細な動作は次の図に示されています
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /user/
[hadoop@master hadoop-2.7 .1]$ touch test2
[hadoop@master hadoop-2.7.1]$ hdfs dfs -put test2 /user/
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /user/
3.9 取得オプションの使用
get オプションは、HDFS 上の指定されたファイルを指定されたローカル ディレクトリに読み書きすることができます。詳細な動作を下図に示します。
[hadoop@master hadoop-2.7.1]$ rm test2
[hadoop@master hadoop-2.7.1]$ ls
[hadoop@master hadoop-2.7.1]$ hdfs dfs -get / user/test2
[hadoop@master hadoop-2.7.1]$ ls
3.10 mkdir オプションの使用
mkdir オプションは、HDFS 内の指定された場所に指定された名前のディレクトリを作成します。詳細な操作は以下の図に示されています。
[hadoop@master hadoop-2.7.1]$ hdfs dfs -mkdir /user/huawei
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /user
3.11 touchz オプションの使用
[hadoop@master hadoop-2.7.1]$ hdfs dfs -touchz /user/huawei/taikelab
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /user/huawei
3. 12mv オプションの使用
mv オプションには 2 つの機能があります。1 つは HDFS 内の指定されたファイルまたはディレクトリの名前を新しい名前に変更すること、もう 1 つは HDFS 内の指定されたファイルまたはディレクトリを新しい場所に移動することです [hadoop@master hadoop -2.7.1
] $ hdfs dfs -ls /user/huawei
[hadoop@master hadoop-2.7.1]$ hdfs dfs -mv /user/test /user/huawei/
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /user /huawei
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /user/
3.13 cp オプションの使用
cp オプションを使用すると、指定したファイルのコピーを HDFS に作成できます。詳細な操作は以下の図に示されています
[hadoop@master hadoop-2.7.1]$ hdfs dfs -cp /user/huawei/test /user/taike/
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /ユーザー/田池/
3.14 rm オプションの使用
rm オプションは、HDFS で指定されたファイルまたはディレクトリを削除できます (ディレクトリを削除する場合、ディレクトリは空である必要があり、そうでない場合は -r オプションは削除できません)。詳細な操作は次の図に示されています [hadoop@master hadoop-2.7. 1
] $ hdfs dfs -rm /user/huawei/test
[hadoop@master hadoop-2.7.1]$ hdfs dfs -rm -r /user/huawei/
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /ユーザー/
3.15 chown オプションの使用
chown オプションは、HDFS 上の指定されたファイルまたはディレクトリの所有者とグループを変更できます (このコマンドを実行するには管理者が必要です) [
hadoop@master hadoop-2.7.1]$ hdfs dfs -chown hadoop:hadoop /user/taike
[ hadoop @master hadoop-2.7.1]$ hdfs dfs -ls /user
3.16 chmod オプションの使用
chmod オプションは、HDFS 上の指定したファイルまたはディレクトリのパーミッションを変更できます。詳細な操作は次の図に示されています。
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /user
[hadoop@master hadoop-2.7. 1]$ hdfs dfs - chmod 777 /user/test1
[hadoop@master hadoop-2.7.1]$ hdfs dfs -ls /user/test1