ビデオ: Technology Stacks - Computer Science for Business Leaders 2016 2024
HDFSは、Hadoopフレームワークの2つの主要コンポーネントの1つです。もう一つはMapReduceとして知られる計算パラダイムです。分散ファイルシステム は、ネットワーク化された複数のマシン間でストレージを管理するファイルシステムです。 HDFSは、
ブロック 、デフォルトサイズが64MBのユニットにデータを格納します。 HDFSに保存する必要のあるファイルは、ブロックサイズのチャンクに分割してから、クラスタ全体で独立して保存する必要があります。次のように、fsck行コマンドを使用して、HDFSの各ファイルを構成するブロックを一覧表示できます。 <! HadoopはJavaで書かれているため、HDFSとのすべてのやり取りはJava APIを介して管理されます。しかし、HDFSのファイルを扱うためにJavaの専門家である必要はありません。 Java APIの上に構築されたいくつかのHadoopインタフェースは、現在一般的に使用されています(Javaを隠す)が、最も単純なものはコマンドラインインタフェースです。コマンドラインを使用して、提供されている例でHDFSと対話してください。
<! - 2 - >Hadoopファイルシステムシェルにアクセスするには、hadoopコマンドの1つの形式を実行します。すべてのhadoopコマンドは、bin / hadoopスクリプトによって呼び出されます。 hadoopコマンドには構文
hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]
という構文があります(すべてのhadoopコマンドの説明を取得するには、引数を指定せずにhadoopスクリプトを実行します) config confdirオプションは、デフォルト設定ディレクトリ($ HADOOP_HOME / conf)を上書きするため、Hadoop環境設定を簡単にカスタマイズできます。一般的なオプションとコマンドオプションは、いくつかのコマンドでサポートされる共通のオプションセットです。<! Hadoopファイルシステムシェルコマンド(コマンドラインインターフェイス用)は、URI(Uniform Resource Identifier)を引数として取ります。
URI
は、名前またはWebリソースを識別するために使用される文字列です。
文字列には、スキーム名 - データソースの性質の修飾子を含めることができます。 HDFSの場合、スキーム名はhdfsで、ローカルファイルシステムの場合スキーム名はfileです。スキーム名を指定しない場合、デフォルトは構成ファイルで指定されたスキーム名です。 hdfs:// namenodehost / parent / child あるいは、設定ファイルが指している場合は単に/ parent / childにすることができますhdfs:// namenodehostに移動します。
hadoop hdfs dfs - file_cmd Hadoopの以前の経験を持つ読者は、「しかし、 hadoop fsコマンドについて?msgstr "" "fsコマンドはHadoop 0.2リリースシリーズでは廃止されていますが、Hadoop 2でも動作します。代わりにhdfs dfsを使用してください。
期待どおり、mkdirコマンドを使用して、LinuxまたはUnixベースのオペレーティングシステムと同様に、HDFSにディレクトリを作成します。 HDFSにはデフォルトの作業ディレクトリ/ user / $ USERがありますが、
$ USER
はログインユーザ名です。
$ hadoop hdfs dfs -mkdir / user / login_user_name
たとえば、 "joanna"という名前のディレクトリを作成するには、次のmkdirコマンドを実行します。
$ hadoop hdfs dfs -mkdir / user / joanna Hadoop putコマンドを使用して、 $ hadoop hdfs dfs -put
file_name / user /
login_user_name
たとえば、dataという名前のファイルをコピーするには、次のように入力します。 txtをこの新しいディレクトリに追加するには、次のputコマンドを実行します。
$ hadoop hdfs dfs -put data。 txt / user / joanna
lsコマンドを実行してHDFSファイルのリストを取得します。 $ hadoop hdfs dfs -ls。 2件見つかりましたdrwxr-xr-x - joanna supergroup 0 2013-06-30 12:25 / user / joanna -rw-r-r-- 1 joanna supergroup 118 2013-06-30 12:15 / user / joanna /データ。 ファイルモード (ディレクトリの場合は "d"、通常ファイルの場合は " - "、その後にアクセス権が続きます) 。
read(r)、write(w)、およびexecute(x)の3つの権限タイプは、LinuxおよびUnixベースのシステムと同じです。 HDFS上でファイルを実行できないため、ファイルの実行権限は無視されます。権限は、所有者、グループ、およびパブリック(他のすべての人)によってグループ化されます。
第2列はファイルの複製係数を示す。レプリケーションの概念はディレクトリには適用されません。
HDFS内のファイルを構成するブロックは、フォールトトレランスを保証するために複製されます。
レプリケーションファクタ、
または特定のファイル用に保持されるレプリカの数は設定可能です。ファイルの作成時または複製時に、アプリケーションを介して複製係数を指定できます。
-
列3と列4は、ファイル 所有者 と グループ
-
を示しています。 スーパーグループ はスーパーユーザーグループの名前であり、 スーパーユーザー
-
は、NameNodeプロセスと同じIDを持つユーザーです。 NameNodeを起動すると、今はスーパーユーザーになります。これは特別なグループです。通常のユーザーは、特別な特性を持たないグループ、つまりHadoop管理者が定義したグループに属しています。 列5はファイルのサイズをバイト単位で示し、ディレクトリの場合は0を示します。 列6および7は、それぞれ最後の変更の日時を示す。 列8は、ファイルまたはディレクトリーの非修飾名(スキーム名が指定されていないことを意味する)を示しています。 Hadoop getコマンドを使用してHDFSからローカルファイルシステムにファイルをコピーします: $ hadoop hdfs dfs -get file_name / user / login_user_name
-
Hadoop rmコマンドは、ファイルまたは空のディレクトリを削除します。
-
$ hadoop hdfs dfs -rm
-
file_name
/ user /
login_user_name hadoop hdfs dfs -helpコマンドを使用して、オプション。