Hadoop企业优化-创新互联

1 MapReduce 跑的慢的原因

Hadoop 企业优化

成都创新互联主营平武网站建设的网络公司,主营网站建设方案,成都app软件开发,平武h5重庆小程序开发公司搭建,平武网站营销推广欢迎平武等地区企业咨询

2 MapReduce 优化方法

MapReduce优化方法主要从六个方面考虑:数据输入、Map阶段、Reduce阶段、IO传输、数据倾斜问题和常用的调优参数。

2.1 数据输入

Hadoop 企业优化

2.2 Map 阶段

Hadoop 企业优化

2.3 Reduce 阶段

Hadoop 企业优化

2.4 IO 传输

Hadoop 企业优化

2.5 数据倾斜问题

Hadoop 企业优化

2.6 常用的调优参数

2.6.1 资源相关参数

以下参数是在用户自己的MR应用程序中配置就可以生效[mapred-default.xml]

配置参数 参数说明
mapreduce.map.memory.mb 一个MapTask可使用的资源上限(单位:MB),默认为1024。如果MapTask实际使用的资源量超过该值,则会被强制杀死
mapreduce.reduce.memory.mb 一个ReduceTask可使用的资源上限(单位:MB),默认为1024。如果ReduceTask实际使用的资源量超过该值,则会被强制杀死
mapreduce.map.cpu.vcores 每个MapTask可使用的最多cpu core数目,默认值: 1
mapreduce.reduce.cpu.vcores 每个ReduceTask可使用的最多cpu core数目,默认值: 1
mapreduce.reduce.shuffle.parallelcopies 每个Reduce去Map中取数据的并行数。默认值是5
mapreduce.reduce.shuffle.merge.percent Buffer中的数据达到多少比例开始写入磁盘。默认值0.66
mapreduce.reduce.shuffle.input.buffer.percent Buffer大小占Reduce可用内存的比例。默认值0.7
mapreduce.reduce.input.buffer.percent 指定多少比例的内存用来存放Buffer中的数据,默认值是0.0

应该在YARN启动之前就配置在服务器的配置文件中才能生效[yarn-default.xml]

配置参数 参数说明
yarn.scheduler.minimum-allocation-mb 给应用程序Container分配的最小内存,默认值:1024
yarn.scheduler.maximum-allocation-mb 给应用程序Container分配的大内存,默认值:8192
yarn.scheduler.minimum-allocation-vcores 每个Container申请的最小CPU核数,默认值:1
yarn.scheduler.maximum-allocation-vcores 每个Container申请的大CPU核数,默认值:32
yarn.nodemanager.resource.memory-mb 给Containers分配的大物理内存,默认值:8192

Shuffle性能优化的关键参数,应在YARN启动之前就配置好[mapred-default.xml]

配置参数 参数说明
mapreduce.task.io.sort.mb Shuffle的环形缓冲区大小,默认100m
mapreduce.map.sort.spill.percent 环形缓冲区溢出的阈值,默认80%
2.6.2 容错相关参数(MapReduce性能优化)
配置参数 参数说明
mapreduce.map.maxattempts 每个Map Task大重试次数,一旦重试参数超过该值,则认为Map Task运行失败,默认值:4
mapreduce.reduce.maxattempts 每个Reduce Task大重试次数,一旦重试参数超过该值,则认为Map Task运行失败,默认值:4
mapreduce.task.timeout Task超时时间,经常需要设置的一个参数,该参数表达的意思为:如果一个Task在一定时间内没有任何进入,即不会读取新的数据,也没有输出数据,则认为该Task处于Block状态,可能是卡住了,也许永远会卡住,为了防止因为用户程序永远Block住不退出,则强制设置了一个该超时时间(单位毫秒),默认是600000。如果你的程序对每条输入数据的处理时间过长(比如会访问数据库,通过网络拉取数据等),建议将该参数调大,该参数过小常出现的错误提示是“AttemptID:attempt_14267829456721_123456_m_000224_0 Timed out after 300 secsContainer killed by the ApplicationMaster.”

3 HDFS 小文件优化方法

3.1 HDFS 小文件弊端

HDFS 上每个文件都要在 NameNode 上建立一个索引,这个索引的大小约为 150byte,这样当小文件比较多的时候,就会产生很多的索引文件,一方面会大量占用 NameNode 的内存空间,另一方面就是索引文件过大使得索引速度变慢。

3.2 HDFS小文件解决方案

小文件的优化无非以下几种方式:

  • 在数据采集的时候,就将小文件或小批数据合成大文件再上传 HDFS。
  • 在业务处理之前,在 HDFS 上使用MapReduce程序对小文件进行合并。
  • 在 MapReduce 处理时,可采用 CombineTextInputFormat 提高效率。
    Hadoop 企业优化

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:Hadoop企业优化-创新互联
当前地址:http://csdahua.cn/article/cohcpi.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流