0

0.20.0 などの古い Hadoop lib バージョンを使用して map-reduce ロジックを開発し、jar ファイルを作成して、クラスター バージョンが 1.0.3 などのより高いクラスターで jar ファイルを実行すると、どうなりますか? クラスターは、コードをコンパイルしたのと同じバージョンの hadoop を使用しますか?それとも、コンパイルに使用したものを無視しますか? このプロセスが一般的に Hadoop でどのように機能するか説明していただけますか?

実行されることはわかっていますが、古いバージョンの hadoop.common が使用されたと思われるログがいくつか見られます。jar ファイルには lib も含まれていません。

4

1 に答える 1

0

最初に、fat jar から hadoop-core ライブラリを除外する必要があります。hadoop はそれを提供します。

APIがバージョンごとに変更されたライブラリを使用した場合、それを示す例外が発生すると思います。

理論的には、API が変更されていなければ動作するはずですが、保証はされていません。同じバージョンでコンパイルして実行するのが本当に最善です。

于 2012-09-20T16:28:14.367 に答える