• CM记录-Hadoop参数调优


    1.HDFS调优

    a.设置合理的块大小(dfs.block.size)

    b.将中间结果目录设置为分布在多个磁盘以提升写入速度(mapred.local.dir)

    c.设置DataNode处理RPC的线程数(默认为3),大集群可适当加大点(dfs.datanode.handler.count)

    d.设置NameNode能同时处理请求数(dfs.namenode.handler.count)为集群规模的自然对数lnN的20倍

    2.YRAN调优

    Yarn的资源表示模型Container,Container将资源抽象为两个维度,内存和虚拟CPU核(vcore)

    map slot 与 reduce slot,任务槽不能混用,数量一定,不能动态分配资源

    Yarn-Container兼容各种计算框架,动态分配资源,减少资源浪费

    容器内存-yarn.nodemanager.resource.memory-mb  

    最小容器内存-yarn.scheduler.minimum-allocation-mb 

    容器内存增量-yarn.scheduler.increment-allocation-mb

    最大容器内存-yarn.scheduler.maximum-allocation-mb

    根据实际情况灵活调整,如物理机为128GB,那么容器内存要为100GB

    容器虚拟CPU内核yarn.nodemanager.resource.cpu-vcores  ---总量要考虑硬件,如双路四核,这里可以设置为10

    最小容器虚拟CPU内核数量yarn.scheduler.minimum-allocation-vcores

    容器虚拟CPU内核增量yarn.scheduler.increment-allocation-vcores

    最大容器虚拟CPU内核数量yarn.scheduler.maximum-allocation-vcores

    3.MapReduce调优

    调优三大原则

    a.增大作业并行程度---改变输入分片(input spilt)的大小,输入分片是个逻辑概念,是一个map Task的输入。在调优过程中,尽量让输入分片与块大小一样,这样就能实现计算本地化,减少不必要的网络传输。

    计算公式为max(mapred.min.spilt.size,min(mapred.max.spilt.size,dfs.block.size))

    mapred.min.spilt.size=1    ---最小分片大小 

    mapred.max.split.size=9223372036854775807   ---最大分片大小

    dfs.block.size为块大小

    b.给每个任务足够的资源

    Map任务内存:mapreduce.map.memory.mb

    Reduce任务内存:mapreduce.reduce.memory.mb

    Map任务最大堆栈:mapreduce.map.java.opts.max.heap

    Reduce任务最大堆栈:mapreduce.reduce.java.opts.max.heap

    ApplicationMaster内存:yarn.app.mapreduce.am.resource.mb

    c.在满足前两个条件下,尽可能地给shuffle(数据混洗-输入到输出整个过程)预留资源

    最大洗牌连接:mapreduce.shuffle.max.connections

    I/O排序内存缓存(MiB):mapreduce.task.io.sort.mb

    I/O排序因子:mapreduce.task.io.sort.factor

    洗牌期间并行传输的默认数量:mapreduce.reduce.shuffle.parallelcopies

    压缩Map输出:mapreduce.map.output.compress

    备注:其他调优参数参考官网hadoop默认配置,hadoop调优要深刻理解mapreduce

  • 相关阅读:
    3秒后页面跳转代码
    数据库 ""和null的在java 持久化中的区别
    去掉标签元素
    hibernate 自动封装
    hql 多对多查询
    javascript 数组
    spring mvc+mybatis整合
    collection映射
    mybatis中one2many
    mybatis中many2one
  • 原文地址:https://www.cnblogs.com/xinfang520/p/7684594.html
Copyright © 2020-2023  润新知