hadoop经验调优
说明: 这个参数调优借鉴之尚硅谷课程
1. 配置hdfs存储多目录
生产环境的磁盘情况
问题: 需要增加的磁盘? 如何进行存储
说明:
HDFS的DataNode节点保存数据的路径由dfs.datanode.data.dir参数决定,其默认值为
file://${hadoop.tmp.dir}/dfs/data
,若服务器有多个磁盘,必须对该参数进行修改。如服务器磁盘如上图所示,则该参数应修改为如下的值。
hdfs-site.xml
<property><name>dfs.datanode.data.dir</name><value>file:///dfs/data1,file:///**hd2**/dfs/data2, <!--注意这个目录的位置data1就是本地, hd2,hd3,hd4都是挂载的磁盘-->file:///**hd3**/dfs/data3,file:///**hd4**/dfs/data4</value>
</property>
注意:因为每台服务器节点的磁盘情况不同,所以这个配置配完之后,不需要分发
2. 集群数据均衡
问题: 有时候因为新添加的节点,或者是因为副本分配问题出现了数据不均衡问题
1)节点间数据均衡
开启数据均衡命令:
start-balancer.sh -threshold 10
对于参数10,代表的是集群中各个节点的磁盘空间利用率相差不 超过10%,可根据实际情况进行调整。
(2)停止数据均衡命令:
stop-balancer.sh
注意:由于启动数据均衡命令比较耗费资源, 最好找一台比较空闲的机器进行执行, 防止namenode 宕机
3. 集群配置LZO压缩
- hadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件。hadoop-lzo需依赖hadoop和lzo进行编译.这个编译是有点麻烦的,大家可以自己到网上去找一下和hadoop对应版本编译好的lZO
- 将编译好的jar包放到 hadoop/share/hadoop/common/下
- 在core-site.xml添加以下支持
<property>
<name>io.compression.codecs</name>
<value>
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec
</value>
</property><property><name>io.compression.codec.lzo.class</name><value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
- 上面就已经添加好LZO的支持了,LZO虽然支持切片,但是如果想要进行使用切片,还得创建索引文件
例:
hadoop jarLZOjar包
com.hadoop.compression.lzo.DistributedLzoIndexer目标lzo文件路径
4.参数调优
4.1 hdfs-site.xml:
NameNode有一个工作线程池,用来处理不同DataNode的并发心跳以及客户端并发的元数据操作。
对于大集群或者有大量客户端的集群来说,通常需要增大参数dfs.namenode.handler.count的默认值10。
<property><name>dfs.namenode.handler.count</name><value>10</value>
</property>
计算方式:
dfs.namenode.handler.count=20 X log e 服务器个数
,比如集群规模(DataNode台数)为8台时,此参数设置为20 X log e 8 = 41。
4.2 yarn-site.xml
(1)情景描述:总共7台机器,每天几亿条数据,数据源->Flume->Kafka->HDFS->Hive
面临问题:数据统计主要用HiveSQL,没有数据倾斜,小文件已经做了合并处理,开启的JVM重用,而且IO没有阻塞,内存用了不到50%
。但是还是跑的非常慢,而且数据量洪峰过来时,整个集群都会宕掉。基于这种情况有没有优化方案。
(2)解决办法:
内存利用率不够
。这个一般是Yarn的2个配置造成的
,单个任务可以申请的最大内存大小
和Hadoop单个节点可用内存大小
。调节这两个参数能提高系统内存的利用率。
(a)
yarn.nodemanager.resource.memory-mb:
表示该节点上YARN可使用的物理内存总量,默认是8192(MB),注意,如果你的节点内存资源不够8GB,则需要调减小这个值,而YARN不会智能的探测节点的物理内存总量。
(b)yarn.scheduler.maximum-allocation-mb:
单个任务可申请的最多物理内存量,默认是8192(MB)。
hdfs读写性能测试:
写性能测试:
hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar TestDFSIO -write -nrFiles 10 -fileSize 128MB
读性能测试:
hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar TestDFSIO -read -nrFiles 10 -fileSize 128MB
将读写性能测试产生的数据进行删除:
hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar TestDFSIO -clean
参数解析:
-write : 写
-read: 读
-nrFiles : 文件的个数
-filesize: 每个文件的大小
hadoop经验调优相关推荐
- Hadoop性能调优
Hadoop为用户作业提供了多种可配置的参数,以允许用户根据作业特点调整这些参数值使作业运行效率达到最优. 一 应用程序编写规范 1.设置Combiner 对于一大批MapRedu ...
- [Hadoop性能调优]
一. Hadoop概述 随着企业要处理的数据量越来越大,MapReduce思想越来越受到重视.Hadoop是MapReduce的一个开源实现,由于其良好的扩展性和容错性,已得到越来越广泛的应用. Ha ...
- Hadoop性能调优总结
目的 随着企业要处理的数据量越来越大,Hadoop运行在越来越多的集群上,同时MapReduce由于具有高可扩展性和容错性,已经逐步广泛使用开来.因此也产生很多问题,尤其是性能方面的问题.这里从管理员 ...
- Hadoop性能调优全面总结
一. Hadoop概述 随着企业要处理的数据量越来越大,MapReduce思想越来越受到重视.Hadoop是MapReduce的一个开源实现,由于其良好的扩展性和容错性,已得到越来越广泛的应用. Ha ...
- Hadoop性能调优、YARN的内存和CPU配置
转 Hadoop性能调优.YARN的内存和CPU配置 2018年06月12日 21:01:54 toto1297488504 阅读数:2417 转: https://blog.csdn.net/deh ...
- Hadoop-调优剖析
1.概述 其实,在从事过调优相关的工作后,会发现其实调优是一项较为复杂的工作.而对于Hadoop这样复杂且庞大的系统来说,调优更是一项巨大的工 作,由于Hadoop包含Common.HDFS.MapR ...
- Hadoop性能调优概要说明
Hadoop容易遇到的问题有:Namenode/jobtracker单点故障.HDFS小文件问题.数据处理性能等.为此 "Hadoop Performance Optimization&qu ...
- Hadoop Mapreduce 调优
转载于:https://www.cnblogs.com/pickKnow/p/10783304.html
- [ hadoop ] 集群性能调优全面总结
[ hadoop ] 集群性能调优全面总结_bone_ds的博客-CSDN博客_hadoop集群优化 引子 文章涵盖了hadoop框架的三个组成架构各自的优化方法,涉及存储,计算,故障排除等多个方面的 ...
最新文章
- c++中的public,protected,private
- python脚本设置linux环境变量_Linux环境变量export方法与修改文件方法的区别
- 云南大学网络课程作业计算机,云南大学842计算机程序设计考研复习经验
- SpringBoot 信息输出
- 去哪儿-10-city-ajax
- Python中的sys模块
- 设计模式(Design pattern—
- NYOJ260 - 数数小木块
- 我的世界服务器物品管理,JEI物品管理器 _ 我的世界Minecraft中国版官方网站——你想玩的,这里都有...
- 通用高效分页存储过程
- CMA检测报告中,CNAS,CMA分别代表的意义
- 笔记本cpu降压 XTU
- vue抽屉_vue 自定义抽屉组件 仿 iview
- SQLite System.DllNotFoundException for SQLite.Interop.dll
- Test类中的@testSetup标注 测试环境数据准备
- 链游的趋势和前景:团队开始专注于建设 进入 6-12 个月重新整合期
- 【软件测试】8年资深测试解析,软件测试行业情报,风风雨雨......
- 国家进口的爱乐维与德国药店的爱乐维的区别
- html 在td中加css,html td nowrap不换行属性使用方法
- JAVA设计模式--组合模式
热门文章
- Windows 7登陆时自动创建TEMP临时文件夹问题解决
- jquery 获取某个值得键名_jquery中获取元素里某一特定子元素的代码
- 浅谈H5业务场景下的人脸识别
- mongodb中的in和notin的查询
- SpringBoot Data整合ElasticSearch
- Android Scrapped or attached views may not be recycled.
- webSocket——Vue2简易聊天室
- 前端日历,vue日历,一周的日历
- html表格导入wps,怎么快速将网页数据导入WPS表格中?
- 亚马逊CPSC认证常见产品测试标准合集