Ars*_*ray 5 java hadoop mapreduce
我正在尝试设置在hadoop 0.20环境中运行的地图任务的数量.
我正在使用旧的api.
以下是我到目前为止尝试的选项:
conf.set("mapred.tasktracker.map.tasks.maximum", "5");
conf.set("mapred.map.tasks", "10");
conf.set("mapred.map.tasksperslot", "5");
conf.set("mapred.tasktracker.map", "5");
conf.set("mapred.map.parallel.copies", "5");
Run Code Online (Sandbox Code Playgroud)
随着所有这些,平行运行的地图任务的数量仍然是2.
设置为使并行运行的映射器数量达到5的正确选项是什么?
maxCurrentMapTasks = conf.getInt("mapred.tasktracker.map.tasks.maximum",2);
根据"Hadoop:The Definitive Guide".因此,在客户端设置属性是没有用的.您需要在配置文件中设置相同的内容.
请注意,在客户端配置中设置某些属性时无效.例如,如果在你的作业提交中你设置了mapred.tasktracker.map.tasks.maximum,期望它会改变运行你的作业的tasktrackers的任务槽的数量,那么你会感到失望,因为这个属性只是如果在tasktracker的mapred-site.html文件中设置,则很荣幸.通常,您可以通过其名称告诉组件应该在哪里设置属性,因此mapred.task.tracker.map.tasks.maximum以mapred.tasktracker开头的事实为您提供了一个线索,即它只能为tasktracker守护进程.然而,这不是一个严格的规则,因此在某些情况下,您可能需要尝试反复试验,甚至阅读源代码.
| 归档时间: |
|
| 查看次数: |
6424 次 |
| 最近记录: |