Hadoop クォータ管理

HadoopBeginner
オンラインで実践に進む

はじめに

この実験では、アラビア砂漠のラクダ商隊の限られた保管容量を管理する方法を学びます。これには、スペース割当と名前割当が含まれます。あなたは、スパイスや高級シルクなどの貴重な荷物を輸送する際の安全性と完全性を保証するために、荷物スペースを慎重に計画して割り当てることが求められます。

現在の保管制限を調べる

このステップでは、Hadoop 分散型ファイルシステム(HDFS)の現在の保管使用状況を調べ、既存のディレクトリとファイルに慣れ親しむことができます。

  1. su - hadoop コマンドを使用して hadoop ユーザーに切り替えます。次に、次のコードを使用してファイルとディレクトリを作成します。
hdfs dfs -mkdir -p /cargo_space/fine_silks
hdfs dfs -touchz /cargo_space/spices.txt
  1. 次のコードを使用して作成したファイルとディレクトリを表示します。
hdfs dfs -ls -R /cargo_space

このコマンドは、/cargo_space ディレクトリの内容を一覧表示します。

  1. HDFS 内の指定されたディレクトリの詳細な統計情報を照会し、クォータ状況を表示します。
hdfs dfs -count -q /cargo_space

上記のコマンドの説明は以下の通りです。

  • hdfs:Hadoop 分散型ファイルシステムのコマンドラインツールを表します。
  • dfs:分散型ファイルシステムで操作するコマンドのセットを表します。
  • -count:このオプションは、指定されたディレクトリ内のファイル数とディレクトリ数をカウントするために使用されます。
  • -q:このパラメータは、ディレクトリのクォータ情報を表示することを示します。クォータ情報には、ファイルシステムがディレクトリに設定した保管スペースとファイル数の制限が含まれます。
  • /cargo_space:これはコマンド操作の対象ディレクトリのパスです。

次の結果が表示されます。

none             inf            none             inf            2            1                  0 /cargo_space

結果の説明は順に以下の通りです。

  • none:ファイルクォータ(つまり名前クォータ)の数に制限はありません。
  • inf:制限以下の残りのファイル数は無限です。
  • none:ディスクスペースクォータに制限はありません。
  • inf:制限以下の残りのスペースは無制限です。
  • 2/cargo_space ディレクトリ内のファイルまたはディレクトリの数は 2 です。
  • 1/cargo_space に格納されたデータは 1 つの保管単位を占めています。
  • 0 /cargo_space/cargo_space ディレクトリの追加のディスクスペース使用量は 0 バイトです。

ディレクトリにスペースクォータを設定する

このステップでは、HDFS 内のディレクトリにスペースクォータを設定する方法を学びます。これにより、そのディレクトリとサブディレクトリの合計ディスクスペース使用量が制限されます。

  1. 次のコマンドを実行して、/cargo_space ディレクトリに 1GB(1073741824 バイト)のクォータを設定します。
hdfs dfsadmin -setSpaceQuota 1073741824 /cargo_space

このコマンドは、/cargo_space ディレクトリとそのサブディレクトリに 1GB のディスクスペースクォータを設定します。

  1. HDFS 内の指定されたディレクトリの詳細な統計情報を照会し、クォータ状況を表示します。
hdfs dfs -count -q /cargo_space

ディレクトリに名前クォータを設定する

ディスクスペースクォータを設定するだけでなく、HDFS ではディレクトリ内の最大ファイル数とディレクトリ数に対してもクォータを設定できます。このステップでは、この名前クォータを設定する方法を学びます。

  1. 次のコマンドを実行して、/cargo_space ディレクトリに 10 個のファイル/ディレクトリのクォータを設定します。
hdfs dfsadmin -setQuota 10 /cargo_space

このコマンドは、/cargo_space ディレクトリとそのサブディレクトリに 10 個のファイルとディレクトリの名前クォータを設定します。

  1. クォータを検証するには、次のコマンドを実行します。
hdfs dfs -count -q /cargo_space

このコマンドは、指定されたディレクトリの現在のファイル数とディレクトリ数、およびクォータ制限を表示します。

ディレクトリのクォータ制限を解除する

このステップでは、HDFS 内のディレクトリのクォータ制限をどのように解除するかを学びます。これには、以前に設定されたディスクスペースクォータと名前クォータの両方が含まれます。

ディスクスペースクォータの解除

  1. /cargo_space ディレクトリに対して、次のコマンドを実行してそのディスクスペースクォータを解除します。
hdfs dfsadmin -clrSpaceQuota /cargo_space

このコマンドは、/cargo_space ディレクトリとそのサブディレクトリのディスクスペースクォータ制限を解除します。

  1. クォータが解除されたことを確認するには、指定されたディレクトリの詳細統計情報を照会してクォータを表示します。
hdfs dfs -count -q /cargo_space

名前クォータの解除

  1. /cargo_space ディレクトリに対して、次のコマンドを実行してそのファイルとディレクトリ数のクォータを解除します。
hdfs dfsadmin -clrQuota /cargo_space

このコマンドは、/cargo_space ディレクトリとそのサブディレクトリのファイルとディレクトリのクォータ制限を解除します。

  1. クォータが解除されたことを検証するには、次のコマンドを実行します。
hdfs dfs -count -q /cargo_space

この時点で、/cargo_space ディレクトリが以前に設定されたクォータ制限の対象外であることを確認できます。

まとめ

おめでとうございます!あなたは Hadoop クォータ管理の実験を成功裏に完了し、Hadoop 分散型ファイルシステム(HDFS)における保管リソースの管理の基本技術を身につけました。キャメロットのシナリオを通じて、現在の保管使用状況を調べ、スペースクォータと名前クォータを実装する方法を学びました。この実践的な経験は、あなたの実践的なスキルを向上させるだけでなく、Hadoop のような分散システムにおける効率的なリソース管理の重要性を浮き彫りにします。