May 2024
Intermediate to advanced
110 pages
1h 19m
Chinese
Hadoop框架已经包含了几种计数器,包括读写字节数的计数器等。这些计数器对掌握框架活动和资源使用非常有帮助。这些计数器由工作节点定期发送到主节点。
在本章中,我们将学习针对map和reduce如何对每个阶段进行强化,学习观察哪种计数器,采用哪种方法分析性能问题。然后,我们学习如何通过以合理的值正确地配置参数来进行调优。
本章将介绍以下内容:
块大小和输入数据的影响;
如何处置小的和不可拆分的文件;
压缩map 端的溢写记录;
改善Reduce 阶段;
计算map 和reduce 任务的吞吐量;
调优map 和reduce 参数。
执行MapReduce作业时,Hadoop框架会执行定义良好的处理阶段序列中的作业。除用户定义的函数(map、reduce和combiner)之外,其他MapReduce阶段的执行时间在不同的MapReduce作业间是通用的。处理时间则主要依赖于每个阶段流经的数据量以及底层Hadoop集群的性能。
要强化 MapReduce 性能,首先使用不同数量的数据(每 map/reduce 任务)运行一组不同的作业,从而针对各个阶段进行基准测试。运行这些作业是收集持续时间和每一阶段数据量等测量指标的需要,然后还要分析这些测量值(针对各个阶段)以推算平台规模函数。
为了识别map端的瓶颈,我们勾画出map任务执行流程的5个阶段。图5-1给出了map任务的执行的序列。
图5-1
我们来看看每个阶段做了什么。 ...
Read now
Unlock full access