0

私は Hadoop を学んでおり、dfs.replication と mapreduce がどのように連携するかなどについて 3 つの質問があります。レプリケーション = 1 と仮定すると、各ブロックは 2 つのサルベ/データ ノード (DN) にコピーされてデータが処理されます。

質問 1: マスター/ネーム ノード (NN) と各 DN は、どの DN がどのブロックで機能する必要があるかをどのように認識しますか (たとえば、DN1 はブロック 1 または DN2 を処理する必要がありますか?)

質問 2: DN1 に障害が発生した場合、NN はそれをすぐには認識しません。私が読んだPPTによると、それは10分ほど後にそれを知るでしょう. 次に、NN がタスクを DN2 に再割り当てするとき、NN と DN2 は、どの時点から DN2 が追いつく必要があるかをどのように知るのでしょうか?

質問 3: クラウドの概念により、DN は世界中のどこにでもある可能性があります。そのため、クライアントから DN が互いに離れている場合、大量のブロックを DN に送信するために大量のトラフィックが発生します。多くのサーバーがこの種の作業を行っている場合、インターネットに大きな負荷がかかりますか?

4

1 に答える 1

2

回答 1 : スケジューラは、TaskTracker の 1 つにいくつかの作業を割り当てます。Hadoop にはいくつかのスケジューラー ( 12 ) が付属しており、カスタム スケジューラーを作成することもできます。

Answer2 : ブロックの処理は、処理に失敗するたびに最初から行われます。

回答 3 : Hadoop は、ノード間のネットワーク レイテンシが非常に高い場所では設計されていません。そのため、ノードは DC または可用性ゾーン内に作成する必要があります。

于 2013-10-09T07:50:24.730 に答える