Hadoop企业优化的主要问题:
数据倾斜
——频率倾斜:某一个时间段内某一个节点运行的次数太多
——大小的倾斜:不同节点处理的数据大小相差太多
—————使用combine进行数据的合并后处理
—————对数据的原始数据进行一个采样后,根据结果集将Task进行进一步的分区设定
Map和Reduce数设置不合理
——Map和Reduce的数量需要根据此时的任务数量来决定
Map运行时间太长,导致Reduce等待太久
小文件过多
大量不可分块的超大文件
Spill次数过多
——环形缓冲区达到设定的大小后数据溢写的过程
Merge次数过多
——Merge指的是Reduce从Map中读取数据的过程
常见问题的优化方式:
数据的输入:可以将MR任务前对小文件进行合并
Map阶段:①减少spill的次数;②减少Merge次数;③先进行Combine处理
Reduce阶段:①合理设置Map和Reduce次数;②设置Map和Reduce共存,调整slowstart.completedmaps参数;③规避使用Reduce;④合理设置Reduce读取数据后内存中buffer的大小;
输出阶段:①采用压缩格式进行输出;②使用SequenceFile二进制文件