Hadoop 旧 API 已经弃用了一段时间,关于新 API 的信息并不多(我不是在谈论 YARN,而是关于http://hadoopbeforestarting.blogspot.com/2012/12/difference-between- hadoop-old-api-and.html)。我搜索了几天如何默认启用它?到目前为止,我看到的唯一解决方案是在自己的 mapreduce中设置配置oozie workflow.xml
或设置JobConf.setUseNewMapper(true)
和内部。JobConf.setUseNewReducer(true)
所以我的问题是:我怎样才能默认启用它,所以每个工作都会使用它?我的意思是 Hive、HBase 等生成的工作。我尝试设置mapred.mapper.new-api
并设置mapred.mapper.new-api
为true,mapred-site.xml
但它不起作用。
此外,我发现不推荐使用的设置: http: //archive.cloudera.com/cdh4/cdh/4/hadoop/hadoop-project-dist/hadoop-common/DeprecatedProperties.html。我认为新属性只适用于新的 api,因为在设置mapreduce.tasktracker.map.tasks.maximum
和默认值以外mapreduce.tasktracker.reduce.tasks.maximum
的mapred-site.xml
其他值之后,我仍然得到默认值 (2)。如果我设置不推荐使用的属性 -mapred.tasktracker.map.tasks.maximum
它mapred.tasktracker.reduce.tasks.maximum
就像一个魅力。