HDFSの概要
HDFSの背景
データ量の増加と、メモリの管轄下にオペレーティングシステムを下回らない範囲で、その後、より多くのオペレーティングへの分散
システム管理用のディスクが、システムのための緊急の必要性は、複数管理するために、管理し、維持するために便利ではありません機械、上のファイル
の分散ファイルシステム管理です。HDFSは一つだけでファイル管理システムを配布しました。
HDFSのコンセプト
HDFSは、それがディレクトリツリーでファイルを検索し、ファイルを保存するためのファイルシステムであり、第二に、それが配布され
、その機能を達成するために一緒に多くのサーバで、種類を、クラスタサーバーは、独自の役割を持っています。
HDFSは、シーンの多くを読んで、一度書き込みのために設計されており、修正ファイルをサポートしていません。データ行うための適切な
分析を、ネットワークアプリケーションに適しません。
HDFSの長所と短所
利点
- 高い耐障害性
- データは、複数のコピーを自動的に保存されます。これは、耐障害性を向上させるために、フォームのコピーによって増加しました。
- 一つのコピーが失われた後、それが自動的に復元することができます。
- データは、複数のコピーを自動的に保存されます。これは、耐障害性を向上させるために、フォームのコピーによって増加しました。
- 大型データ処理に適しました
- データ・スケール:GB、TB、偶数PBレベルのデータ到達データを処理することができます。
- ファイルサイズ:ファイルサイズの百万人以上の数を扱うことができる、数が非常に大きいです。
- データアクセスをストリーミング、それがデータの整合性を確保することができます。
- 信頼性を向上させるマルチコピー機構を介して、低コストのマシン上に構築することができます。
短所
- データへの低遅延アクセスには適していません、このようなデータのミリ秒を保存するように、それは不可能です。
- 小さなファイルの数が多いため、効率的に格納されていません。
- 小さなファイルの多くを保存、それは、ファイルを格納するためのメモリの名前ノードがかかるディレクトリ、および情報をブロックします。メモリは常に限られた名前ノードであるので、これは望ましくありません。
- 小さなファイルは、HDFSの設計目標に違反し、時間を読んでより多くの回に対処保存します。
- 同時書き込み、ランダムなファイルの修正。
- ファイルが一つだけの書き込みを持つことができ、複数のスレッドが書き込みをすることはできません。
- データのみの追記(追加)をサポートし、ランダムにサポートしていないファイルを変更します。
からなるHDFSアーキテクチャ
このアーキテクチャは、4つの主要部分、すなわち、HDFSクライアント、名前ノード、データノードとセカンダリ名前ノードから成ります。
- クライアント:クライアントです。
- ファイルのセグメンテーション。HDFSファイルアップロード時、クライアントはブロックのファイルにカットした後、保存されました。
- ファイルの位置情報へのアクセスと対話名前ノード。
- データの読み書きとデータノードの相互作用;
- クライアントは、スタートとして、HDFSを管理したり、HDFSをシャットダウンするコマンドの数を提供します。
- クライアントは、HDFSコマンドの数を介してアクセスすることができます。
- 名前ノードは:それはスーパーバイザー、マネージャーである、マスターです。
- 管理HDFSの名前空間。
- 管理ブロック(ブロック)マッピング情報。
- ポリシーのコピーを設定します。
- クライアントプロセスが要求を読み書きします。
- データノード:スレーブです。名前ノードの受注は、データノードは、実際の操作を行います。
- 実際のデータ・ブロックを格納します。
- データ・ブロックは、読み取り/書き込み操作を。
- セカンダリ名前ノード:ホットスペアを名前ノードません。名前ノードがハングアップすると、それはすぐに名前ノードを交換し、サービスを提供していません。
- 補助名前ノード、彼らの作業負荷を共有します。
- 定期的な合併Fsimageと編集、および名前ノードにプッシュ。
- 緊急の場合には、回復の名前ノードを助けることができます。
ファイルブロックHDFSのサイズ
HDFSのファイルは、物理的にブロックサイズを設定パラメータ(dfs.blocksize)で指定することができ、ブロック(ブロック)に格納され、デフォルトのサイズは128Mのhadoop2.xバージョンで、古いバージョンでは64Mです。
HDFSは、ディスクブロックより大きなブロック、その目的は、アドレス指定オーバーヘッドを最小にすることです。ブロックが十分に大きく設定されている場合は、ディスク転送時間からのデータは、ブロック開始位置を位置決めするために必要な時間よりもかなり大きくなります。したがって、ディスク転送レートの複数のブロックから成る文書の送信の時間に応じ。
アドレッシング時間は約10ミリ秒、および最大100MB /秒の伝送速度、伝送時間のわずか1%のアドレス時間を作るためにある場合、我々は、ブロックサイズを設定する約100メガバイトです。デフォルトのブロックサイズは128メガバイトです。
ブロックサイズ:10ミリ秒×100×100M / sの = 100M
HDFSは、ディスクブロックより大きなブロック、その目的は、アドレス指定オーバーヘッドを最小にすることです。ブロックが十分に大きく設定されている場合は、ディスク転送時間からのデータは、ブロック開始位置を位置決めするために必要な時間よりもかなり大きくなります。したがって、ディスク転送レートの複数のブロックから成る文書の送信の時間に応じ。
アドレッシング時間は約10ミリ秒、および最大100MB /秒の伝送速度、伝送時間のわずか1%のアドレス時間を作るためにある場合、我々は、ブロックサイズを設定する約100メガバイトです。デフォルトのブロックサイズは128メガバイトです。
ブロックサイズ:10ミリ秒×100×100M / sの = 100M
設定ファイルのブロック・サイズ
- 小さすぎることはできません:HDFSブロックの設定が小さすぎて、対処する時間が増加すると、プログラムはブロックの開始位置を探してきました
- あなたもすることはできません。ディスクのデータ転送時間からブロックの大きすぎるセットはブロック開始位置の位置決めのために必要な時間よりもかなり大きくなります場合。このデータを扱うプログラムを引き起こし、それが非常に遅くなります。
- 概要:HDFSのブロックサイズが設定され、伝送速度は、ディスクに依存します。