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. org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent succ

    数据库 没有开启  连接失败 org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause ...

  2. HDU 2033 人见人爱A+B

    http://acm.hdu.edu.cn/showproblem.php?pid=2033 Problem Description HDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的 ...

  3. Ubuntu 服务器指南

    https://help.ubuntu.com/lts/serverguide/   Jabber Instant Messaging Server https://help.ubuntu.com/l ...

  4. Spring MVC (Java),强制页面不缓存

    response.setDateHeader("Expires",0);        response.setHeader("Buffer","Tr ...

  5. Python表达式与运算符

    表达式与运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 算术运算符 运算符 描述 + 加 - 两 ...

  6. BZOJ3129 SDOI2013方程(容斥原理+扩展lucas)

    没有限制的话算一个组合数就好了.对于不小于某个数的限制可以直接减掉,而不大于某个数的限制很容易想到容斥,枚举哪些超过限制即可. 一般情况下n.m.p都是1e9级别的组合数没办法算.不过可以发现模数已经 ...

  7. Sightseeing tour HDU - 1956(混合欧拉回路)

    题意: 有n个点,m条边,其中有单向边和双向边,求是否存在欧拉回路 解析: 刚开始想...判断一下每个点的度数不就好了...emm..还是年轻啊.. 判断是解决不了问题的,因为可能会有某两个点冲突,比 ...

  8. Real mode & Protected mode

    [转]  https://objectkuan.gitbooks.io/ucore-docs/content/lab1/lab1_3_2_1_protection_mode.html 为何要了解Int ...

  9. 在 Ali Kubernetes 系统中,我们这样实践混沌工程

    在传统的软件测试中,我们通常通过一个给定的条件来判断系统的反馈,通过断言来判断是否符合预期,测试条件和结果通常比较明确和固定.而混沌工程,是通过注入一些“不确定”因素,象放进了一群淘气的猴子,在系统资 ...

  10. py3+requests+re+urllib,爬取并下载不得姐视频

    实现原理及思路请参考我的另外几篇爬虫实践博客 py3+urllib+bs4+反爬,20+行代码教你爬取豆瓣妹子图:http://www.cnblogs.com/UncleYong/p/6892688. ...