0

「バックグラウンド」の Hadoop クラスターをインストールすることは可能でしょうか。つまり、結局のところ、ノードが利用できない、または遅い場合があることに対処できるようにするためのものです。

したがって、ある大学にコンピューター室があると仮定します。たとえば、100 台のボックスにはすべて、高級デスクトップ ハードウェア、ギガビット イーサナー、おそらく同一のソフトウェア インストールが含まれています。ここでも Linux は非常に人気があります。

ただし、これらの 100 ボックスはもちろん、学生向けのデスクトップ システムを対象としています。ラボがいっぱいになる時もありますが、ラボが空になる時もあります。ユーザー データは主に中央ストレージ (NFS など) に保存されるため、ローカル ディスクはあまり使用されません。

アイドル時間にシステムを Hadoop クラスターとして使用することは、私には良い考えのように思えます。もちろん、最も単純なセットアップは、cron ジョブでクラスターを夜間に開始し、朝にシャットダウンすることです。ただし、日中も多くのコンピュータが使用されません。

しかし、Hadoop は、ユーザーがログインしたときにノードがシャットダウンされた場合などにどのように反応するのでしょうか? Hadoop でノードを簡単に「一時停止」(プリエンプト!) し、必要に応じてノードを移動してスワップすることは可能ですか? 理想的には、Hadoop に、タスクを一時停止する前に (メモリを解放するためにも) 計算を取り除く機会を与えます。このような設定を行うにはどうすればよいでしょうか。ノードが一時停止されることを Hadoop に通知する方法はありますか?

私が知る限り、データノードは停止すべきではなく、3 つ以上のコピーを持つようにレプリケーションを増やす必要があるかもしれません。YARN では、タスクトラッカーを任意のノードに移動することによって、ある時点で中断されるノードになる可能性があるという問題もあるかもしれません。しかし、常にオンになっており、タスク トラッカーを実行する少数のノード セットがあることを制御できる場合があります。

または を送信するだけstopで適切ですか(その後、 で再開します)? 1 つ目はおそらく Hadoop に反応する機会を与え、2 つ目はユーザーがすぐにログアウトすると (ジョブが続行できるため) より速く続行します。ヤーンはどうですか?tasktrackerSIGSTOPSIGCONT

4

1 に答える 1

0

まず第一に、hadoop は「preempt」をサポートしていません。Hadoop は、タスク トラッカーが停止していることを検出した場合、単純にタスクを再起動します。したがって、ユーザーがホストにログインすると、一部のスクリプトがタスクトラッカーを単純に強制終了し、ジョブトラッカーは、強制終了されたタスクトラッカーで実行されたすべてのマッパー/リデューサーを FAILED としてマークします。その後、このタスクは別のノードで再スケジュールされます。

もちろん、そのようなシナリオは無料ではありません。設計上、マッパーとレデューサーはすべての中間データをローカル ホストに保持します。さらに、リデューサーは、マッパーが実行されたタスクトラッカーから直接マッパー データをフェッチします。そのため、タスクトラッカーが強制終了されると、これらのデータはすべて失われます。マッパーの場合、それは大きな問題ではありません。通常、マッパーは比較的少量のデータ (ギガバイト?) で動作しますが、リデューサーはより大きな問題を抱えます。Reducer はシャッフルを実行しますが、これはネットワーク帯域幅と CPU の点でコストがかかります。tasktracker がいくつかのレデューサーを実行する場合、このレデューサーの再起動は、すべてのデータを新しいホストにもう一度再ダウンロードする必要があることを意味します。そして、ジョブトラッカーがすぐに認識しないこと、タスクトラッカーが停止していることを思い出します。したがって、強制終了されたタスクはすぐに再起動されるべきではありません。

ワークロードが軽い場合、データノードは永久に存続できます。ユーザーがログインするときに、データノードをオフラインにしないでください。Datanode は少量のメモリを消費します (少量のデータの場合は 256M で十分です)。ワークロードが軽い場合は、CPU とディスク IO をあまり消費しないでください。

結論として、このような構成をセットアップすることはできますが、調整されたワークロードでの適切で予測可能なジョブの実行に依存しないでください。

于 2012-09-27T12:56:04.673 に答える