Hadoop容易遇到的问题有:Namenode/jobtracker单点故障、HDFS小文件问题、数据处理性能等。为此 “Hadoop Performance Optimization”(HPO)是必要的。本文试着从性能调优的总体原则入手来了解概要,实际生产中遇到的问题也会在这个框架下处理。
Hadoop运行环境:
下面大致给出这四个层次的调优原则。
1、硬件选型原则
2、操作系统调优
1)避免使用swap分区 将hadoop守护进程的数据交换到硬盘的行为可能会导致操作超时。
在Linux系统当中,如果一个进程的内存不足,其内存中的部分数据会暂时写到磁盘上,在需要的时候,会再将磁盘中的数据动态的置换到内存当中,这样一来,一些不必要的流程就会显现出来。通常,这会导致进程的执行效率降低。再分布式环境当中,使用MapReduce这样的计算模型时,可以通过控制每个Job的处理数量和每个Task运行过程使用的缓冲区的大小,避免我们去使用Swap分区。通过/etc/sysctl.conf文件中的vm.swappiness参数来达到目的。
2)调整内存分配策略:操纵