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

CM记录-Hadoop参数调优的更多相关文章

  1. hadoop 参数调优重点参数

    yarn的参数调优,必调参数 28>.yarn.nodemanager.resource.memory-mb  默认为8192.每个节点可分配多少物理内存给YARN使用,考虑到节点上还 可能有其 ...

  2. 七、Hadoop学习笔记————调优之Hadoop参数调优

    dfs.datanode.handler.count默认为3,大集群可以调整为10 传统MapReduce和yarn对比 如果服务器物理内存128G,则容器内存建议为100比较合理 配置总量时考虑系统 ...

  3. Hadoop参数调优

    转自:http://blog.sina.com.cn/s/blog_6a67b5c50100vop9.html dfs.block.size 决定HDFS文件block数量的多少(文件个数),它会间接 ...

  4. emr hadoop 参数调优

    set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; ; ; set hive.exec.compress.intermedia ...

  5. hadoop 性能调优与运维

    hadoop 性能调优与运维 . 硬件选择 . 操作系统调优与jvm调优 . hadoop运维 硬件选择 1) hadoop运行环境 2)  原则一: 主节点可靠性要好于从节点 原则二:多路多核,高频 ...

  6. hadoop作业调优参数整理及原理(转)

    1 Map side tuning参数 1.1 MapTask运行内部原理 当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘.这中间的过程比较复杂,并且利用到了内 ...

  7. hadoop作业调优参数整理及原理【转】

    1 Map side tuning参数 1.1 MapTask运行内部原理 当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘.这中间的过程比较复杂,并且利用到了内 ...

  8. Hbase记录-client访问zookeeper大量断开以及参数调优分析(转载)

    1.hbase client配置参数 超时时间.重试次数.重试时间间隔的配置也比较重要,因为默认的配置的值都较大,如果出现hbase集群或者RegionServer以及ZK关掉,则对应用程序是灾难性的 ...

  9. hadoop作业调优参数整理及原理

    hadoop作业调优参数整理及原理 10/22. 2013 1 Map side tuning参数 1.1 MapTask运行内部原理 当map task开始运算,并产生中间数据时,其产生的中间结果并 ...

随机推荐

  1. Linux安装的分区问题

    对于一般的外部SATA存储设备,在ubuntu中会显示在/etc/sd*中,例如: SATA1插槽上的文件名:/dev/sda SATA5插槽上的文件名:/dev/sdb USB磁盘:/dev/sdc ...

  2. NodeJS 学习记录

    这里是我学习NodeJs的学习记录 URL:网址解析的好帮手 URL,URI 首先,URI是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源.而URL是u ...

  3. OpenJS Foundation

    OpenJS Foundation Introducing the OpenJS Foundation https://openjsf.org/ The Node.js Foundation and ...

  4. Lodop打印设计界面生成代码带”...(省略)”

    Lodop的设计界面中,菜单里的生成代码,如果打印项内容过多,后面会显示”...(省略)”,省略的是打印项的内容值,无论是纯文本还是超文本,都可以用选中打印项-右键-设置属性里找到该打印项的全部值,可 ...

  5. c-lodop云打印实现手机打印 JS语句打印

    Lodop和c-lodop目前只能安装到windows操作系统上,但是其他操作系统可通过向C-Lodop安装的电脑发送打印任务,实现手机广域网或局域网打印,打印语句也是简单的JS语句,可以轻松实现云打 ...

  6. jdk1.8 HashMap红黑树操作详解-putTreeVal()

    以前也看过hashMap源码不过是看的jdk1.7的,由于时间问题看的也不是太深入,只是大概的了解了一下他的基本原理:这几天通过假期的时间就对jdk1.8的hashMap深入了解了下,相信大家都是对红 ...

  7. python 模块之-sys

    python 模块 sys import sys sys.argv       # 参数,第一个参数是脚本的文件明,自定义参数为数组的第二个   sys.argv[1] sys.version   # ...

  8. BZOJ2141排队——树状数组套权值线段树(带修改的主席树)

    题目描述 排排坐,吃果果,生果甜嗦嗦,大家笑呵呵.你一个,我一个,大的分给你,小的留给我,吃完果果唱支歌,大家 乐和和.红星幼儿园的小朋友们排起了长长地队伍,准备吃果果.不过因为小朋友们的身高有所区别 ...

  9. C# 事件 订阅与发布

    两种方式: 一: //服务器 public class Server { //服务器发布的事件 public event Action<string> MyEvent; public vo ...

  10. BZOJ5337 [TJOI2018] 碱基序列 【哈希】【动态规划】

    题目分析: 这道题的难点在于要取模,而题面没有写. 容易想到一个O(1E7)的dp.KMP或者哈希得到相关位置然后对于相关位置判断上一个位置有多少种情况. 代码: #include<bits/s ...