2013-11-18 5 views
4

Я настроил кластер Hadoop 2.2.0 и теперь запускаю свой java-клиент для обработки данных. После запуска моей Java программы, я замечаю выходные дисплеи, как это:Hadoop 2.2.0 Конфигурация устаревания

13/11/18 11:44:44 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name 
13/11/18 11:44:44 INFO Configuration.deprecation: mapred.jar is deprecated. Instead, use mapreduce.job.jar 
13/11/18 11:44:44 INFO Configuration.deprecation: mapred.output.value.class is deprecated. Instead, use mapreduce.job.output.value.class 
13/11/18 11:44:44 INFO Configuration.deprecation: mapreduce.combine.class is deprecated. Instead, use mapreduce.job.combine.class 
13/11/18 11:44:44 INFO Configuration.deprecation: mapreduce.map.class is deprecated. Instead, use mapreduce.job.map.class 
13/11/18 11:44:44 INFO Configuration.deprecation: mapred.job.name is deprecated. Instead, use mapreduce.job.name 
13/11/18 11:44:44 INFO Configuration.deprecation: mapred.textoutputformat.separator is deprecated. Instead, use mapreduce.output.textoutputformat.separator 
13/11/18 11:44:44 INFO Configuration.deprecation: mapreduce.reduce.class is deprecated. Instead, use mapreduce.job.reduce.class 
13/11/18 11:44:44 INFO Configuration.deprecation: mapred.input.dir is deprecated. Instead, use mapreduce.input.fileinputformat.inputdir 
13/11/18 11:44:44 INFO Configuration.deprecation: mapred.output.dir is deprecated. Instead, use mapreduce.output.fileoutputformat.outputdir 
13/11/18 11:44:44 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps 
13/11/18 11:44:44 INFO Configuration.deprecation: mapred.output.key.class is deprecated. Instead, use mapreduce.job.output.key.class 
13/11/18 11:44:44 INFO Configuration.deprecation: mapred.working.dir is deprecated. Instead, use mapreduce.job.working.dir 

Модуль работает хорошо и выглядит, что ничего не влияет. Но как я могу избежать этих информационных сообщений? (Я импортирую maven hadoop-client 2.2.0 и использую Job job = new Job())

ответ

0

Большинство из-за изменения API Hadoop - весь пакет «mapred» перемещен в «mapreduce». Вы можете изменить, где вы импортируете «org.apache.hadoop.mapred» в «org.apache.hadoop.mapreduce», чтобы избежать такой информации. Вы могли бы сделать аналогичные изменения для некоторых других сообщений, таких как

13/11/18 11:44:44 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name 
+0

Да, использует новый API «org.apache. hadoop.mapreduce "в моей программе, но все еще получает информационные сообщения ... – user2597504

0

Устаревших означает, что этот API, все еще там, но они будут удалены в будущих версиях. Пропущенное пространство имен устарело, и для его замены добавлено новое пространство имен mapreduce.

Как сообщалось в информационных сообщениях и Zhutoulala, если вы хотите их избежать, вам нужно использовать новый API вместо старого. Новый API - org.apache.hadoop.mapreduce. Кстати, «новый» API есть с 2009 года Вы можете увидеть this presentation для изменения

+0

На самом деле, я использовал новый API" org.apache.hadoop.mapreduce "в своей программе, но он все еще показывает эти информационные сообщения ... Я не знаю 't why – user2597504

+0

Это связано с тем, что в Hadoop 2 API прошел больше изменений. –

+0

Итак, после импорта нового API, что мне делать дальше, чтобы избежать этой информации megs? – user2597504

Смежные вопросы