私はhadoopで遊び始めています(ただし、クラスタにアクセスすることはできませんが、スタンドアロンで遊んでいるだけです)。私の質問は、クラスターの設定では、タスクがどのように分散され、コードベースが新しいノードに移されるかということです。Hadoopはタスクとコードベースを配布できますか?
理想的には、私は大規模なバッチジョブを実行したいと思います。容量を増やす必要がある場合は、新しいノードをクラスタに追加しますが、ローカルで実行しているコードと同じコードをコピーするか、バッチジョブが実行されている間に容量を追加できます。私は自分のコードベースをHDFS上に保存し、必要なときに実行するためにローカルに引き出すことができると考えましたが、それでもサーバ上で何らかの初期スクリプトが必要であり、手動で最初にそれを実行する必要があることを意味します。
これが可能かどうかについてのご意見やアドバイスは素晴らしいと思います!
ありがとうございます。
ありがとう、素晴らしい答え。それはjavaで理にかなっていますが、これはPythonのストリーミングを使用することでも同じですか? – Lostsoul
http://hadoop.apache.org/common/docs/r0.15.2/streaming.html#Package+Files+With+Job+Submissionsから: "実行可能ファイルをマッパーおよび/またはリデューサとして指定できます。実行可能ファイルはクラスタ内のマシン上にあらかじめ存在する必要はありませんが、そうでない場合は、実行可能ファイルをジョブ提出の一部としてパックするように、 "-file"オプションを使用する必要があります。タスクトラッカーの追加に関する上記のすべては、ストリーミングにも当てはまります。 –