ビッグデータインタビューシリーズ--Hadoop

3つのコアのHadoop:
HDFS(分散型ストレージシステム)
のMapReduce(分散コンピューティングシステム)
糸(分散リソーススケジューリング)

モデル.Hadoop構築するためのいくつかのクラスタ
1スタンドアロンモード:直接インストール抽出し、分散ストレージシステムが存在しない
2擬似分散を:と名前ノードデータノードが同じノードに取り付けられた、分散処理の効果を反映することができません。
3.完全分散:マスターノードは、プライマリノードがダウンした場合、クラスタは使用できないという欠点から複数のノード。
4.高可用性モード:複数のマスターノード、複数のノードに同じ時間からわずか1マスターノード外国サービスがあり、プライマリノードに障害が発生したとして、他の1のマスターノードは、それを置き換えることができ、あなたは、リアルタイムですべてのプライマリノードを保持する必要があります一貫性のあるデータ、マスタノード欠点圧傾向ダウンタイム。
5.連邦モード:複数のマスターノード、同時に複数のマスターノードから複数のノードがサービスを提供するために、ノードからのセクションを担当しています。
実際の可用性の高い大規模なクラスタの生産と一般的に使用される方法は、連邦モデルのコンバインの展開。

二.HDFSハートビートメカニズム
名前ノードとデータノードが、彼らは通信を維持します開始、データノードは、定期的にその名前ノードが時に名前ノード行のデータノードの健康状態、10倍の状態の後れを取らないためにことを、レポートの名前ノード(デフォルトの間隔は3秒です)にハートビートを送信します(デフォルト)のハートビートをレポートがデータノードによって受信されない場合、名前ノードはデータノードの検査、検査許容送信2を送信するためのイニシアチブを取る、各検査のデフォルトの時間は場合、ノード2データノードが無検査結果を決定するために、300秒ですダウンタイム。
デフォルト・ノードがダウンタイムデータノード10であるかを決定3S + 2 5分= 630S

戦略3 .HDFS知覚ラック
3のデフォルトのコピーは、最初のコピーは、ローカルノード、任意のノード異なるシャーシおよび第コピー上の第二のコピー、第二及び第三のコピー内に格納されています他のノードのラックと、両方ともローカルアクセス速度データを確保するだけでなく、可能な限りデータの安全コピーを確保します。

四.HDFSアップロード(書き込み)をダウンロード(読み込み)メカニズム
アップロードメカニズム
1.クライアント(クライアント)名前ノードへのファイルアップロード要求を送信するために、
2.NameNodeは、親ディレクトリが存在し、そのようなユーザ権限として、一連のテストを実施します、ファイルと同じ名前ならば、それはファイルとして、またはクライアントに成功したレコードを作成します。スロー
3.NameNodeは、クライアント(クライアント)によって確認されたアップロード要求BLOCK1の名前ノードを送信するために、クライアント(クライアント)(ブロック、ブロックを複数のファイルに128M)ファイル分割を開始します、名前ノードは、アップロードを受けましたファイル情報、ビュー・データノードの情報の後に、データノードのストレージノードは、クライアント(クライアント)への情報バックを決定します。
4.クライアント(クライアント)の情報データノードはデータノード、パイプラインバッファが確立されている最も近い成功し、その後、64キロバイトに各パケットを形成し始め、その後、キャッシュからデータノードのローカルファイルシステムにパイプライン(チャネル)を確立し得るために、すべてのバックアップが完了するまで、連続して別のデータノードへのバックアップデータパケットからデータノード、。
5.全体のブロック1をアップロードすると、データノードが正常にアップロードクライアント(クライアント)ブロック1を通知します。
3.4.5繰り返しステップ6残りのブロック全体のファイルがアップロードされるまで。
7.ファイルがアップロードされているクライアント(クライアント)が名前ノード、名前ノードの更新のメタデータを通知します。

ダウンロードメカニズム
1.クライアント(クライアント)名前ノードへのファイルのダウンロード要求を送信します。
2.NameNodeパーミッション、ファイルが存在する場合は、検査の一連の検査は、最終顧客が直接エラーをスローしませんでした、名前ノードは、チェック後にクライアントへのファイルのサイズが格納された位置情報等のコピーの数を送信します。
3.クライアントが別のデータノードから、レポートの名前ノードをダウンロードするために失敗した場合、名前ノードを送信された情報を受け取った後、クライアントは最近のデータノードの選択を支配する、ブロック最初のダウンロードは、ダウンロードは、CRCチェックが行います完了ですこのブロックをダウンロードし、名前ノードは、このデータノードで実行ダウンロードおよびアップロード回避した後、このデータノードを記録します。
4.あなたは、他のブロックをダウンロードするに成功秩序を持った後、クライアント(クライアント)は、ダウンロードにフィードバックされますが、完全な名前ノードです。

IV。単にMapReduceのプログラミング・モデルの下で
第1の地図タスクローカル・ファイル・システムからデータを読み取るために、キー値を使用して、キーと値のペアのセット、のHadoopの形に変換される組み込みのようなのようなテキスト、Longwritableなどのデータ型、。
ビジネス・プロセスのためのキーマッパーのセット入力は、キーと値のニーズに再出力に変換しました。
デフォルトで使用されるパーティション分割はhashpartitionerした後、ゾーニングルールが書き換えgetPartitionのhashpartitioner法によってカスタマイズすることができます。
、選別鍵の同じパケット合成出力値をグループ化する操作をグループ化するためのキーをソートしますしたら、コンパレータ方法WritableComparator照合、RawComparatorからcomparaオーバーライドメソッド定義されたパケットをカスタマイズするために、カスタムデータ型オーバーライドして本明細書で使用されてもよいですルール。
コンバイナ縮小操作の後、地元のは、ワークロードのシャッフルの減速を減らすために前処理軽減されます。
タスクは、各データ収集ネットワークに使用されます削減削減され、最終的にデータや表示、ジョブ全体の終了を保存します。

5 .MapReduce糸の詳細な動作
参考のために、非常に詳細に記述された物品。
https://segmentfault.com/a/1190000020617543?utm_source=tag-newest

VI。プロセスのニーズ開始のHadoopクラスタはHadoopのを実行しているとどのような役割で開始し
1.NameNodeのHadoopのそれは、プライマリサーバ、ファイルシステム名前空間の管理やクラスタに保存されたファイルへのアクセス、メタデータの保存です。
これは、冗長2.SecondaryNameNodeの名前ノードデーモンではなく、周期チェックポイントとクリーンアップタスクを提供します。ヘルプNNの合併editslog、NNは、起動時間を短縮します。
3.DataNodeそれは(クラスタが複数のノードを持つことができる)に接続されているストレージノードを管理する責任を負います。データのデータノードデーモンを実行している各ストレージノード。
データノード上のスケジューリング作業を担当する4.ResourceManager(JobTracker)JobTracker。各データノードは、TaskTrackerを持って、彼らは実際の作業を行います。
5.NodeManager(TaskTracker)ミッション

7 .YARNの各部の役割の一部
YARNは、リソース管理システムHadoop2.0新たに導入されたバージョンであり、現在はYARNは、MapReduceの嵐スパークFLINKなどのコンピューティングフレームワークの様々なサポートし、他の
1.ResourceManagerの
管理とリソースの割り当ては全体のクラスタを担当して
具体的なアクション:
1)クライアント要求
2)開始またはApplicationMasterを監視する
。3)ノードマネージャを監視は
)監視およびスケジューリングリソース4。
2.ApplicationMaster(AM)
それぞれのアプリケーションインスタンスApplicationMaster糸管理操作。ApplicationMasterノードマネージャは、リソース(CPU、メモリおよび他のリソース割り当て)のコンテナの実装および使用を監視することにより、このResourceManagerからリソースを調整するための責任を負う
特定の役割:
1)のデータポイントを担当カット
2)アプリケーション・アプリケーション・リソースと内部タスクに割り当てられました
3)モニタリング及びフォールトトレラントのタスク
3.NodeManager(NM)
ノードマネージャ糸は、クラスタ内の各ノードを管理します。ノードマネージャは、健康ノード監視および追跡するために生涯コンテナリソースの監視と管理から、クラスタサービスの各ノードに設けられ
、特定の役割:
1)単一ノード上のリソースを管理する
2)のResourceManagerから処理コマンド
3)ApplicationMasterの処理からコマンド
4.Container
AMの復帰のための抽象糸中の容器リソースAMアプリケーションリソース、それはRMに、等のメモリ、CPU、ディスク、ネットワークなど、ノード上の多次元リソースをカプセル化し、RMリソースがコンテナで表されます。糸は、各タスクのための容器を割り当てられ、コンテナのリソースを使用することができるタスクについて説明
特定の役割:
1)マルチタスクオペレーティング環境次元の抽象化、CPU、メモリリソース、および環境変数のようなカプセル化、コマンドを起動する、など情報の操作に関連するタスク

公開された27元の記事 ウォンの賞賛9 ビュー20000 +

おすすめ

転載: blog.csdn.net/I_Demo/article/details/103727266