2016-08-10 8 views
0

Hadoopでのブロックとレプリカの格納手順は、BlockPlacementPolicy関数またはプロセスによって実行されますが、これは最初の格納手順ですデータはHDFSシステムに格納されます)。私は興味のあるプロセスまたはJava関数は、ディスクまたはデータノード障害の後のデータを回復することによって(私は、過小複製の問題を解決することを意味します)回復することに責任があります。私の考えは、私の必要に応じて機能するように、担当の機能を変更することです。これは、レプリカの数を維持し、新しいレプリカ(回復したレプリカ)を自分のディスクに保存することを意味します。hadoopでのディスクまたはデータノードの障害と復旧の手順

答えて

0

ノードに障害が発生すると、そこに格納されたブロックはHDFSで使用可能ではなくなります。ノードに障害が発生した場合や無効になっている場合、複製されているブロックの数を調べることで、これを簡単に確認できます。

一般に、システムでは、複製が発生したとき(および容量が利用可能なとき)に解決しようとします。だから、基本的にあなたが構築したいソリューションは、すでに存在するはずです。

注:Hadoopは破損したノードからデータを回復しようとしませんが、破損していないノードに基づいて関連するブロックを複製するだけです。

+0

申し訳ありませんが、私は回復という言葉を使用しました。私はその過小複製を解決することを考えていました。私はこの手順がHadoopによって自動化されていることを知っています。私の質問は、手順と、どのプロセスがアンダーレプリケーションの状況を解決するかについてです。 – JovanKaramac

+0

私は、ネノノードがデータノードからハートビートを受信しないとき、それはアンダーリプリケーションを解決することから始まりますが、アンダーリプリケーションを解決する手順の指導者である手順をどのプロセスがガイドするかについての詳細を知りたいと思います。 Java関数が担当しています。 – JovanKaramac

+0

@JovanKaramacおそらくそれは[Balancer](https://issues.apache.org/jira/browse/HADOOP-1652)でしょう。 –

関連する問題