Как я могу использовать более свежую версию Jar hadoop / lib в моей карте / сокращение рабочих мест? - PullRequest
1 голос
/ 14 января 2010

Hadoop в настоящее время поставляется с commons-httpclient-3.0.1.jar в папке lib.

Если у меня есть задача map / lower, для которой требуется commons-httpclient-3.1.jar, то, по-видимому, недостаточно собрать этот jar-файл в папку lib моего jad-файла hadoop (как это было бы с любым обычным внешним jar-файлом). зависимостей), поскольку hadoop загружает предыдущий jar-файл из папки lib и не использует тот, который я предоставил.

Невозможно использовать разные версии банок, которые также использует hadoop?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2015

Для версии cadh4 hadoop добавление приведенного ниже кода в объект конфигурации hadoop должно решить эту проблему.

Обратите внимание, что это не решит проблему с чертом в основном коде (код, который выполняется перед отправкой), чтобы решить эту проблему, я думаю, мы должны добавить -D добавьте его в файлы конфигурации hadoop, но я еще не проверял

conf.set("mapreduce.task.classpath.user.precedence", "true");
conf.set("mapreduce.user.classpath.first", "true");
conf.set("mapreduce.job.user.classpath.first", "true");
0 голосов
/ 14 января 2010

Если ничего не помогает, используйте maven-shade-plugin, чтобы переименовать пакет commons-httpclient, чтобы у вас был ваш, а у hadoop есть.

...