Ihadoop与hbase参数调优.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ihadoop与hbase参数调优

第一章Hadoop参数调优Hadoop参数调优主要是core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml四个文件:core-site.xml为Hadoop的核心属性文件,参数为Hadoop的核心功能,独立于HDFS与MapReduce,其他三个文件皆为hadoop参数文件,hadoop-env.sh主要是完成各进程的内存划分以及部分环境设置,hdfs-site.xml主要是对HDFS的端口、目录、以及HDFS跟namenode的通信设置(小的集群一般不用考虑)等的设置,mapred-site.xml主要对map与red和JobTracker的设置。Hadoop有190多个参数但一般用到的不足一半,这里常用的一些参数设置作出调整:一、hadoop-env.sh修改TaskTracker与+DataNode的内存分配根据官方建议设置TaskTracker与+DataNode的内存大小由原来的1G设置为2G [hadoop@MASmaster01 hadoop-config]$ vi hadoop-env.sh# The maximum amount of heap to use, in MB. Default is 1000.export HADOOP_HEAPSIZE=2048二、core-site.xml1、放大hadoop读写hdfs的缓存大小hadoop读hdfs的文件和写hdfs的文件,还有map的输出都用到了这个缓冲区容量,对于现在的硬件很保守,可以设置为128k(131072)也不是越大越好设置过大会造成map跟red的溢出[hadoop@MASmaster01 hadoop-config]$ vi core-site.xmlpropertynameio.file.buffer.size/namevalue131027/value/property2、开启hadoop的垃圾回收功能默认情况下垃圾回收是关闭的,为了避免误删数据丢失,开启垃圾回收机制这里保留一天propertynamefs.trash.interval/namevalue1440/value/property三、mapred-site.xml1、map和red的进程数设置对hadoop的参数修改主要是对map和red的进程数由原来默认的2分别设置为6 增加了运算速度property namemapred.tasktracker.map.tasks.maximum/namevalue6/value/propertypropertynamemapred.tasktracker.reduce.tasks.maximum/namevalue6/value/property内存使用(map+reduce)Xmapred.child.java.opts+TaskTracker.mapred.child.java.opts2、Tasks进程内存分配mapred.child.java.opts默认值200m启动task管理的子进程时的内存设置(默认为-Xmx200m偏小)这跟4中的map与red的个数这是也有关系这里设置为512mproperty namemapred.child.java.opts/namevalue-Xmx512m/value/property3、MapTask当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。这中间的过程比较复杂,并且利用到了内存buffer来进行已经产生的部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。如上图所示,每一个map都会对应存在一个内存 buffer(MapOutputBuffer,即上图的buffer in memory),map会将已经产生的部分结果先写入到该buffer中,这个buffer默认是100MB大小,但是这个大小是可以根据job提交时的参数设定来调整的,该参数即为:io.sort.mb。当map的产生数据非常大时,并且把io.sort.mb调大,那么map在整个计算过程中spill的次数就势必会降低,map task对磁盘的操作就会变少,如果map tasks的瓶颈在磁盘上,这样调整就会大大提高map的计算性能propertynameio.sort.mb/name value300/value/property io.sort.factor。该参数默认为10。它表示当merge spill文件时,最多能有多少并行的stream向merge文件中写入。比如如果map产生的数据非常的大,产生的spill文件大于10,而 io.sort.factor使用的是默认的10,那么当map计算

文档评论(0)

wangz118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档