1.1 HDFSは知っています
データセットのサイズは、単一のコンピュータの記憶容量を超えた場合、パーティションとは別のコンピュータの数に保存されていることが必要です。そして、分散ファイルシステムと呼ばれるネットワーク・ファイル・システム上で複数のコンピュータ間でストレージを管理します。分散ファイルシステムは通常、ファイルシステムよりも複雑であるので、ネットワーク上のシステム・アーキテクチャは、任意のデータを失う許容しないようなノードの障害として、ネットワークプログラミングの複雑さを導入するために結合されます。
1.1.1HDFS長所と短所
利点:(1)大きなファイルを格納するのに適した:ファイルはほとんどGBもTBレベルにHadoopの分散ファイルシステムに格納されています。
(2)は、通常のPCサーバ上で動作する、高価なサーバーを必要としません。
短所:(1)リアルタイムデータは弱いアクセス:アプリケーションは、秒またはミリ秒単位でのデータアクセス時間を必要とする場合、ないHDFS。HBaseの使用を検討してください。
(2)HDFSファイル一つだけの作家で、常にデータファイルの書き込みの最後には、複数のライターをサポートしていない、どこにも変更することはできません。
1.2HDFSアーキテクチャ
そのような名前ノード、データノード、SecondaryNameNode、ノードの異なるタイプなどのデーモンの異なるタイプを実行しているノードの数に完全HDFS実行はHDFSを構成一緒に協力します。
(1)ブロック
HDFSは、ブロックの概念を持っていますが、HDFSのデータブロックの平均ファイルシステムよりデータブロックがはるかに大きい、デフォルトは64メガバイトです。
メリット・ブロック:
、データブロックの設計は、実際のファイルの断片化され、断片化は、data.txtをファイルとして、ファイルは、ディスク上格納され、さらには機械の制限されたように、クラスタ内の任意のノードに格納されていてもよい、それぞれ、3つのブロックに切断し、 3データノードは、マシンの異なるノード上に格納されました。
B、高いフォールト・トレランス:もしdfs.relicationセット2に、その後、破損したデータブロックのいずれか、クラスタがクラスタ内のノードへのデータブロックの後に破損したレプリカであろうので、そのコピー数バック、細かい作品設定レベル。
(2)NameNode和SecondayNameNode
HDFSは、名前ノードの脳で、彼はファイルシステム全体のディレクトリツリーを維持します。二つのファイル内の情報は、ローカルファイルに保存されます。一つは、1つのミラーリングされた名前空間の編集ログで、名前空間のミラーです。
SecondayNameNodeは、通常のミラーのための第2のノードと呼ばれ、名前空間のマージされた目的は、ディレクトリツリーを更新することであるマージ、デーモンの名前空間ミラーリングされたログの編集を。あなたが名前ノードでマージ操作を行うのであれば、その後、名前ノードのクラスタサービスは、十分なリソースを提供しないかもしれないときSecondayNameNodeがされて入ってきました。各HDFSクラスタがありSecondayNameNodeを、単一のサーバー上に展開することができます。
1.3 HDFSフォールトトレランス
、ハートビート機構:ハートビートと名前ノードデータノードとの間に維持しました。ネットワーク障害がデータノード新しい桃の名前ノードが発生した場合ではない、通常、名前ノードはデータノードを配布する新しいI / O操作は、データノード上のデータは無効と見なされていない、受信。名前ノードはチェック自動的に新しいコピーを開始し、他のノードデータノードにコピーを配布未満ならば、ファイルブロック番号のコピーは、以下セット値よりも大きいかどうかを確認します。
B、ファイルブロックおよびパリティ検出:各ファイルのすべてのブロックのチェックが正しくない場合、別のデータノードのノードからのブロックのコピーを取得します。
1.4 HDFSコマンドアクセス
コマンド | 機能 | 例 |
HadoopのDFS -ls <パス> | ファイルやディレクトリの内容を一覧表示 | HadoopのDFS -ls / |
HadoopのDFS -lsr <パス> | 再帰的にディレクトリの内容をリストアップ | HadoopのDFS -lsr / |
HadoopのDFS -count <パス> | 表示パスのディレクトリツリーとファイル番号 | HadoopのDFS -count / |
HadoopのDFS -mv <SRC> <DST> | 先のフォルダHDFSにファイルを移動します | HadoopのDFS -mv /user/hadoop/a.txt /ユーザー/テスト /ユーザー/ Hadoopの移動中A.TXTファイルの次/ユーザー/ testディレクトリ |
HadoopのDFS -rm <パス> | ゴミとして、ファイルの移動経路の上側のパスにHDFS | HadoopのDFS -rm /test.txt |
Hadoopのdfsf -put <ローカル> <DST> | HDFS <DST>ディレクトリにローカルファイルをアップロード | HadoopのDFS -put /home/hadoop/test.txt /ユーザー/ Hadoopの |
HadoopのDFS -cat <SRC> | ブラウザのHDFS上の<SRC>パス下のファイルの内容 | HadoopのDFS -cat /user/hadoop/test.txt |
HadoopのDFS -mkdir <パス> | HDFSのディレクトリパスのパスを作成します。 | HadoopのDFS -mkdir /ユーザー/テスト |
HadoopのDFS -touchz <パス> | HDFS空のファイルのパスのパスを作成します。 | HadoopのDFS -touchz /ユーザー/ Hadoopの/テスト |
HadoopのDFS -chmod [-R]モード路 | パスのファイルパス上のHDFS変更の権限は、-rオプションは再帰的にこれを行う示し | HadoopのDFS -chmod -R + /user/test.shワット /user/test.shは、書き込みに権限を与えられました |
HadoopのDFS -chown [-R] [ower]:[基]パス | ファイルパスへのパス上でのユーザとグループのHDFSを変更 | HadoopのDFS -chown -R zhangsan:zhangsan /user/test.sh ジョー・スミスを置き換え属する/user/test.shファイルとグループ |