2012-01-10 9 views
1

私が働く会社では、毎日何千ものファイルを処理する必要があり、それには数時間かかることがあります。操作は、PDFを高解像度画像に変換し、後でそのような画像を多くの異なるサイズで作成するような、基本的にCPUを集中させます。クラスタ内の複数のファイルを並列処理する

これらのタスクはそれぞれ1つのCPUで多くの処理が行われるため、同じマシン上で複数のインスタンスを開始することは簡単ではありません。したがって、すべてを完了するまでに数時間かかります。

私が見るように、最も分かりやすいことは、ファイルセットを分割し、同時に複数のマシンで処理させることです(5,10,15台のマシン、必要な数はまだ分かりません)。

私は、ホイールを再発明してタスクのマネージャーを作成したいと思っていません。(やりたいこともありませんが)どのツールを使用するべきかわかりません。

私たちは大きなデータを持っていませんが、私はHadoopを見ています(私たちはAmazonで動作しています)。ノードを処理する機能は面白そうです。しかし、私はそれを使用することが理にかなっているかどうかわかりません。私もヘーゼルキャストを見ていますが、私はそれやコンセプトについて全く経験がありません。

このタスクにはどのような方法が適していますか?

答えて

0

あなたは分散キューにタスクとしてファイル(ファイル参照)を置​​くことができるHazelcast distributed queue.

ファーストを使用することができます。 各ノードはキューからタスクを処理し、その結果を別の分散キュー/リストに格納するか、またはDB/storageに書き込みます。

+0

おかげさまで、ヘーゼルキャストの全体的な解決策はかなり良いように見えますが、それに私が使用することができる他のいくつかの機能もあります。 –

1

Hadoopは、データ処理に問題があるのはvarietyですが、その一部は画像処理にも関連しています。 OPで言及された問題は、Hadoopを使用して簡単に解決することもできます。処理されるデータが小さい場合は、Hadoopを使用するオーバーヘッドがあることに注意してください。あなたはHadoopのに慣れていない場合

は、Hadoop : The Definitive Guide本を購入する事

  • のカップルをお勧めします。
  • MapReduce resourcesにアクセスしてください。
  • チュートリアル(1および2)を開始し、単一ノードとクラスタでHadoopをセットアップします。 1〜2台のマシンを学習のために使うことができれば、Amazonは必要ありません。
  • sample programsを実行し、その動作を理解してください。
  • 問題領域のHadoopへの移行を開始します。

Hadoopの利点は、Hadoopの周辺のエコシステムです。現時点では、Hadoopの周りのecosystemは巨大で、成長しています。私はHazelcastについてはわかりません。

+0

偉大なリンクのおかげで、彼らは多くを助けています。実際、Hadoop *は私が持っているシンプルな仕事の配分とコーディネーションの仕事のためにはあまりにも多すぎるかもしれません。そのためには、Hazelcastはもっとシンプルに見えます。しかし、私はあるツールや他のツールにコミットする前にいくつかの実用的なテストを行います。 –

+0

Hazelcastが広く使われているかどうか不思議です。 「実際、Hadoopは私が持っているシンプルな仕事の配分とコーディネーションの仕事のためにはあまりにも多すぎるかもしれません。そして、そのHazelcastはもっと簡単に見えます。' - Hadoopクラスタが設定されると、あなたの会社でも他のリソース集約的なタスクに簡単に使用できます。 –

関連する問題