MapReduceの分散コンピューティングシステム

MapReduceは(1TBより大きい)大きなデータセットの並列コンピューティングのためのプログラミングモデルです。コンセプト「マップ(マッピング)」と「削減(削減)」、およびその主なアイデアは、借りて、関数型プログラミング言語からのベクトルプログラミング言語の性質から借りています。場合は、プログラマが分散されず、並列プログラミングは、分散システム上で実行中のプログラムを所有するのは非常に簡単です。現在のソフトウェア実装では、マップ(マッピング)関数を指定することで、キーと値のペアを確保するために、同時削減(削減)機能指定されたキーと値のペアの新しいセットにマップするために使用されることのすべてのキーと値のマッピング各グループは、同じ鍵を共有します。

プログラムの語数を実行します

パス語数にcd /opt/module/hadoop-2.7.3/share/hadoop/mapreduceがあります。
タッチin.txtを実行し、入力ファイルとしてIn.txtファイルを作成します。
(空のファイルin.txt場合は、入力ファイルの入力内容としてVI in.txt、統計的な単語の頻度を実行する)
出力ディレクトリ/出力は、プログラム実行を作成し、自動的に、存在してはいけません。
語数を実行します。
出力/ /adir/in.txtのHadoop Hadoopの-JAR-例-2.7.3.jarのMapReduce WORDCOUNT
成功した実行後、入力/出力ディレクトリ、ファイルの一部-R-00000ビューのカウント結果を開きます。

 

MapReduceは、主に以下の機能を提供します。

 

1)計算されたデータ・パーティションとスケジューリング:

 

データの多数のデータブロックに分割されて処理されるように自動的にジョブ(ジョブ)システムは、各データブロックは、計算タスク(タスク)に対応し、自動的にデータブロックを対応する計算処理ノードをスケジュールします。状態は、これらのノードの実装を監視する責任があり、同期制御ノードマップの実装を担当している間、ジョブ及びタスクスケジューリング機能は、(地図ノードまたはノードを減らし)計算ノードを割り当て、スケジューリングの主な原因です。

 

2)データ/コード相互の位置決め。

 

データ通信を低減するために、データ処理の基本的な原理は、すなわち、そのローカルディスクストレージ上のノードを計算する処理データがデータへの移行コードを可能にする、可能な限り分散され、ローカライズされ、これが不可能な場合にローカライズされたデータ処理、次いでネットワークノードからアップロードされたノード(コードへのデータ移行)に送信される他の利用可能なデータを探し、ローカルラック上のデータは、通信遅延を低減する場所から入手可能なノードを見つけることが可能であろう。

 

3)システムの最適化:

 

データ通信のオーバーヘッドを低減するために、中間結果データが特定のフロントマージ処理ノードを減らし入り、ノードのデータを削減するデータの発生を回避するために、ノードマップの複数の処理されてもよい相関演算段、中間出力ノードマップを減らし結果は、同じノードに関連する保証された配信データが削減特定の戦略適切な分割処理を使用する必要があり、加えて、システムはまた、コンピューティングタスクのようないくつかのパフォーマンスの最適化計算処理は、最速から選択される最も遅いマルチバックアップを完了するために結果として人。

 

4)エラー検出とリカバリ:

 

ローエンドの商用サーバ構成、ノードのハードウェア(ホスト、ディスク、メモリなど)とエラーソフトウェアエラーのMapReduceの大規模なコンピューティング・クラスタが標準であるので、MapReduceは、エラーノードを引き継ぐために割り当てられた新たなノードを検出し、エラー・ノードを分離、およびスケジュールできるようにする必要コンピューティングタスク。同時に、システムは、データストレージの信頼性を維持するマルチ冗長バックアップ記憶機構と、データ記憶の信頼性を向上し、タイムリーエラー検出およびデータの回復。

 

おすすめ

転載: www.cnblogs.com/yo123/p/10927008.html