【发布时间】:2013-12-01 12:39:32
【问题描述】:
我使用默认配置的 hadoop 作业 -> 本地文件系统上的本地模式没有使用我系统中的所有核心 (16) -> 通过使用所有核心,我的意思是,我可以在各种情况下看到所有核心的活动。但是,我的 CPU 使用率 [来自 top] 从未超过 200%,因此我在 conf 中更改了这些配置。
mapred.tasktracker.map.tasks.maximum 将其设置为 8,mapred.tasktracker.reduce.tasks.maximum 也将其设置为 8。
我的内核使用率仍然低于 300%。如何通过使用所有内核从机器获得最大吞吐量?
另外,我的文件大小约为 1TB。这是作业运行的示例日志。我看到它在运行作业时创建了多个(临时)拆分。这个创建拆分和处理它的循环继续(重复)。我的预感是,在每个周期中,它都会创建一个临时文件并最终将它们合并。有没有办法我们可以增加一些缓冲区大小来处理更大的块(对于我的大输入文件)?
13/12/01 12:58:10 INFO mapred.MapTask: io.sort.mb = 100
13/12/01 12:58:10 INFO mapred.MapTask: data buffer = 79691776/99614720
13/12/01 12:58:10 INFO mapred.MapTask: record buffer = 262144/327680
13/12/01 12:58:10 INFO mapred.MapTask: Spilling map output: record full = true
13/12/01 12:58:10 INFO mapred.MapTask: bufstart = 0; bufend = 16702718; bufvoid = 99614720
13/12/01 12:58:10 INFO mapred.MapTask: kvstart = 0; kvend = 262144; length = 327680
13/12/01 12:58:11 INFO mapred.MapTask: Finished spill 0
13/12/01 12:58:11 INFO mapred.MapTask: Spilling map output: record full = true
13/12/01 12:58:11 INFO mapred.MapTask: bufstart = 16702718; bufend = 33439467; bufvoid = 99614720
13/12/01 12:58:11 INFO mapred.MapTask: kvstart = 262144; kvend = 196607; length = 327680
13/12/01 12:58:11 INFO mapred.MapTask: Starting flush of map output
13/12/01 12:58:12 INFO mapred.MapTask: Finished spill 1
13/12/01 12:58:12 INFO mapred.MapTask: Finished spill 2
13/12/01 12:58:12 INFO mapred.Merger: Merging 3 sorted segments
13/12/01 12:58:12 INFO mapred.Merger: Down to the last merge-pass, with 3 segments left of total size: 36912217 bytes
13/12/01 12:58:12 INFO mapred.Task: Task:attempt_local1988835396_0001_m_000543_0 is done. And is in the process of commiting
13/12/01 12:58:12 INFO mapred.LocalJobRunner:
13/12/01 12:58:12 INFO mapred.Task: Task 'attempt_local1988835396_0001_m_000543_0' done.
13/12/01 12:58:12 INFO mapred.LocalJobRunner: Finishing task: attempt_local1988835396_0001_m_000543_0
13/12/01 12:58:12 INFO mapred.LocalJobRunner: Starting task: attempt_local1988835396_0001_m_000544_0
13/12/01 12:58:12 INFO mapred.Task: Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@17aee8b0
请建议我可以遵循的其他tuning techniques 以改进流程。
【问题讨论】:
标签: optimization hadoop configuration mapreduce