2016-08-18 4 views
0

PRODからUAT(ハープクラスタ)にデータ/ファイルをコピーする必要がある状況があります。そのために私は現在'distcp'を使用しています。しかしそれは永遠に取っています。 distcpはmap-reduceをボンネットの下で使用しているので、sparkを使ってプロセスを速くする方法はありますか?ハイブ実行エンジンをの代わりに'TEZ'に設定できるように、実行エンジンをdistcpのために起動するように設定できますか?あるいは、クラスタ上でデータをコピーする他の方法があるかもしれません。これはdistcpについても気にしないかもしれません。ハーフープクラスタ間でデータをコピーするためにスパークを使用する

ここでもう1つ質問があります(distcp実行エンジンがmap-reduceではなくsparkに設定されていると仮定します)。 - 私の知る限り、Sparkはmap-主にデータをメモリに格納するため、ディスクからすべてのデータをロードする必要がないように、いくつかの場合に処理する必要があります。ここでは、クラスタ間でデータをコピーしているため、各ファイルがメモリに格納されてからネットワーク経由で送信され、コピー先のクラスタディスクにコピーされるため、1つのファイル(ブロックまたは分割)を複数回処理する必要はありません、そのファイルのストーリーの終わり。次に、Sparkがメイン機能を使用しない場合、どのように処理を高速化しますか?

+0

これは試していませんでしたが、実際にはHiveを使用してデータを読み書きしたり、TezまたはSparkでHiveを実行したりできます。 Sparkの利点は、メモリを使用するだけでなく、実行ステージのスケジューリングが容易であるため、MRよりシーケンシャル性が低いからです –

答えて

1

Sparkは実際にHadoopクラスタ間のデータ移動を意図していません。 "-m"オプションを使用して、distcpジョブの追加のマッパーを調べることができます。

+0

送信元: https://hadoop.apache.org/docs/r2.7.2/hadoop-distcp/DistCp .html マップタスクの最大回数を同時に指定できることを理解しました。だから、自分のクラスタでどれだけ多くのジョブが同時に実行されているのかを知る方法はありますか(ジョブに25の分割があるとします)?どの程度まで他のプロセスを妨げることなくこの数を増やすことができますか? 私は12ノードのPRODと6ノードのUATを持っています。すべてが約250GBの物理メモリと約45TBのディスクスペースを持っています。 – Mrinal

+0

最適な設定を判断するには、いくつかのテストが必要になることがあります。 –

1

バルククロスクラスタIO上のあなたのボトルネックは、(および3倍のレプリケーションで宛先クラスタに元のクラスタ

  • 書き込み帯域幅オフ通常

    1. 帯域幅
    2. クラスタ間の読み取り帯域幅のある取るか書き込み
    3. 作業スペース(エグゼキュータ、タスクの数)

    一般的に、遠距離のネットワークではボトルネックとなる長距離ネットワークをアップロードしています。ネットワークを氾濫させるために多くの労働者を必要としません。

    2つのYahoo!の間にdistcp操作の有名な話がありますHadoopの運用チームはdistcpが非常に高速化しているのに満足していました。一方、ネットワーク運用チームは、2つのサイト間のトラフィックのためにコアサービスが何らかの形で苦しんでいたと警告しています。私はこの事件がdistcpが今では-bandwidthオプションを持っている理由だと信じています:)

    distcpには制限があるかもしれませんが、それはおそらくタスクの設定と実行にあります。コピーするファイルを事前に決めておきますいくつかのファイルが高速にコピーされ、他のファイルは未処理であれば、仕事を再スケジューリングするのに多くの(何か)知性があります。

    Distcpはあらかじめリストを作成しておき、それを特別なdistcpマッパーに渡します。各マッパーはファイルリストを読み込んでそれをコピーします。

    誰かがdistcpのスパークバージョンを実行しようとする可能性があります。スパークが既存のエグゼクティブに新しい仕事を押し進めるのに非常に効率的であるという事実に頼って、より良いスケジューリングに取り組んでいけば、興味深いプロジェクトになるかもしれません。スパークバージョンはすべてを事前にリストするのではなく、確かに、コピーするファイルを列挙しながらコピー操作を開始して、起動時間を短縮することができます。それでも、クロスクラスタ帯域幅は通常はチョークポイントになります。

  • 関連する問題