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
andmapred.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
ても、デフォルト値(2)が得られるためです。そして、非推奨のプロパティを設定すると、魅力的に機能します。mapreduce.tasktracker.reduce.tasks.maximum
mapred-site.xml
mapred.tasktracker.map.tasks.maximum
mapred.tasktracker.reduce.tasks.maximum