分享
分享赚钱 收藏 举报 版权申诉 / 27

类型(优化)参数总结.doc

  • 上传人:gsy285395
  • 文档编号:9148340
  • 上传时间:2019-07-25
  • 格式:DOC
  • 页数:27
  • 大小:204KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    (优化)参数总结.doc
    资源描述:

    1、注:红色字体表示可优化参数!core-site.xml 是全局配置,hdfs-site.xml 和 mapred-site.xml 分别是 hdfs 和 mapred的局部配置。所有参数配置:core-default.html 文件中1、hadoop.tmp.dir 默认值:/tmp/hadoop-$user.name临时目录设定。尽量手动配置这个选项,否则的话都默认存在了系统的默认临时文件/tmp 里。并且手动配置的时候,如果服务器是多磁盘的,每个磁盘都设置一个临时文件目录,这样便于 mapreduce 或者 hdfs 等使用的时候提高磁盘 IO 效率。hadoop.tmp.dir 是 ha

    2、doop 文件系统依赖的基础配置,很多路径都依赖它。它默认的位置是在/tmp/$user 下面,但是在/tmp 路径下的存储是不安全的,因为 linux 一次重启,文件就可能被删除。怎么更改默认的 hadoop.tmp.dir 路径,并使其生效?1、编辑 conf/core-site.xml,在里面加上如下属性 : hadoop.tmp.dir /home/had/hadoop/data A base for other temporary directories. hadoop.tmp.dir/home/zj/tmp目录不会被清空就可以了。2、Hadoop.native.lib默认值:tru

    3、e使用本地 hadoop 库标识。3、Hadoop.http.filter.initializershttp 服务器过滤链设置。4、Hadoop.security.group.mapping默认值:org.apache.hadoop.security.ShellBasedUnixGroupsMapping组内用户的列表的类设定。5、Hadoop.security.authorization默认值:false服务端认证开启。6、Hadoop.security.authentication默认值:simple 无认证或认证设置。7、hadoop.security.token.service.use

    4、_ip默认值:true是否开启使用 IP 地址作为连接的开关。8、hadoop.logfile.size默认值:10000000日志文件最大为10M。9、hadoop.logfile.count默认值:10日志文件数量为10个。10、io.file.buffer.size默认值:4096流文件的缓冲区为4K。SequenceFiles 在读写中可以使用的缓存大小,流文件的缓冲区默认值为4K。 。这个参数在新版本里变为了:file.stream-buffer-size,单位 bytes 。作为 hadoop 缓冲区,用于 hadoop 读 hdfs 的文件和写 hdfs 的文件,还有 map 的

    5、输出都用到了这个缓冲区容量,对于现在的硬件很保守,可以设置为128k(131072),甚至是1M(太大了 map 和 reduce 任务可能会内存溢出) 。通过增大它的大小能够减少 I/O次数以提高性能。如果系统允许,64KB(65536 字节)至128KB(131072字节)是较普遍的选择。io.file.buffer.size131072(部署注意:namenode 磁盘: sas 带 RAID,多磁盘存储文件系统元信息.datanode 配置 : 不带 RAID, 双网卡: 一个用于内部数据传输,一个用于外部数据传输.hadoop 各节点的分布:namenode 和 jobtracker

    6、 部署:namenode 与 jobtracker 分离.tasktracker与 datanode 配对 .Trash: hadoop 回收站功能默认是禁止的,删除文件,就是直接删除了,所以要记得配置好trash。trash 功能还是不错的,当 rm 后,它会 move 到当前文件夹下的.Trash 目录下,误删文件后,可以到对应的.Trash 目录下恢复文件,参考配置属性 fs.trash.interval。备份:namendoe 的元数据切记做好多处备份,包括热备和冷备,否则元数据一丢,整个集群的数据都无法恢复了。热备:namenode 的元数据配置写两份,一分写本地,另一份写远程 nf

    7、s。冷备:定时拷贝 namenode 的元数据到远程的 nfs,保留十天甚至更长。Datanode 的数据目录:如果 datanode 对应的机器上有多块磁盘,例如/disk1-/disk3,dfs.data.dir 可以配置为”/disk1/data,/disk2/data,/disk3/data”,datanode 会在写数据时,以轮询的方式选择一个目录写入数据,一般这些目录是不同的块设备,不存在的目录会被忽略掉,参考配置属性 dfs.data.dir.datanode 如果有多个磁盘不建议做 raid,因为做 raid 会有性能损失,还会导致一个磁盘坏了,整个硬盘也不能用了,而 hado

    8、op 可以规避这个问题。Tasktracker 的中间输出目录: MapReduce 产生的中间数据会特别多,为了减少磁盘压力,如果机器有多个磁盘,也可以像 datanode 的数据目录设为”/disk1/local,/disk2/local,/disk3/local”,参考配置属性 mapred.local.dir。map 和 reduce 任务的 JVM 选项:mapred.child.java.opts 配置 map 和 reduce 子进程的 JVM属性,如果内存充裕,可以改为 -Xmx2400m.Tasktracker 的 map 和 reducer 数量配置: 属性 mapred.

    9、tasktracker.map.tasks.maximum 配置这个 tasktracker 同时可以最多跑多少个 map task,要根据 tracker 的内存和磁盘情况规划。还有属性 mapred.tasktracker.reduce.tasks.maximum 配置这个 tasktracker 同时可以最多跑多少个reduce task.同理也是要根据 tracker 的内存和磁盘情况规划。缓冲区大小:io.file.buffer.size 默认是4KB,作为 hadoop 缓冲区,用于 hadoop 读 hdfs 的文件和写 hdfs 的文件,还有 map 的输出都用到了这个缓冲区容

    10、量,对于现在的硬件很保守,可以设置为128k(131072),甚至是1M( 太大了 map 和 reduce 任务可能会内存溢出 )。noatime 的设置:为了充分发挥性能,需要使用 noatime 选项挂载磁盘,表示执行读操作时,不更新文件的访问时间,可以显著提供性能。)11、io.bytes.per.checksum默认值:512校验位数为512字节。12、io.skip.checksum.errors默认值:false校验出错后是抛出异常还是略过标识。True 则略过。13、pression.codecs默认值:press.DefaultCodec,press.GzipCodec,pr

    11、ess.BZip2Codec,press.SnappyCodec压缩和解压的方式设置。14、io.serializations默认值:org.apache.hadoop.io.serializer.WritableSerialization序例化和反序列化的类设定。15、fs.default.name默认值:file:/缺省的文件 URI 标识设定。16、fs.trash.interval默认值:0文件废弃标识设定,0为禁止此功能。这个是开启 hdfs 文件删除自动转移到垃圾箱的选项,值为垃圾箱文件清除时间。一般开启这个会比较好,以防错误删除重要文件。单位是分钟。删除文件,就是直接删除了,所以

    12、要记得配置好 trash。trash 功能:当 rm 后,它会move 到当前文件夹下的.Trash 目录下, 误删文件后,可以到对应的 .Trash 目录下恢复文件。一般设置为1440 ,即一天。fs.trash.interval144017、fs.file.impl默认值:org.apache.hadoop.fs.LocalFileSystem本地文件操作类设置。18、fs.hdfs.impl默认值:org.apache.hadoop.hdfs.DistributedFileSystemHDFS 文件操作类设置。19、fs.s3.impl默认值:org.apache.hadoop.fs.s

    13、3.S3S3文件操作类设置。20、fs.s3n.impl默认值:org.apache.hadoop.fs.s3native.NativeS3FileSystemS3文件本地操作类设置。21、fs.kfs.impl默认值:org.apache.hadoop.fs.kfs.KosmosFileSystemKFS 文件操作类设置。22、fs.hftp.impl默认值:org.apache.hadoop.hdfs.HftpFileSystemHTTP 方式操作文件设置。23、fs.hsftp.impl默认值:org.apache.hadoop.hdfs.HsftpFileSystemHTTPS 方式操

    14、作文件设置。24、fs.webhdfs.impl默认值:org.apache.hadoop.hdfs.web.WebHdfsFileSystemWEB 方式操作文件类设置。25、fs.ftp.impl默认值:org.apache.hadoop.fs.ftp.FTPFileSystemFTP 文件操作类设置。26、fs.ramfs.impl默认值:org.apache.hadoop.fs.InMemoryFileSystem内存文件操作类设置。27、fs.har.impl默认值:org.apache.hadoop.fs.HarFileSystem压缩文件操作类设置。28、fs.har.impl.

    15、disable.cache默认值:true是否缓存 har 文件的标识设定。29、fs.checkpoint.dir默认值:$hadoop.tmp.dir/dfs/namesecondary备份名称节点的存放目录设置。尽 secondary NameNode 的元数据以, 号隔开,hdfs 会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉30、Fs.checkpoint.edits.dir默认值:$fs.checkpoint.dir备份名称节点日志文件的存放目录设置,secondary NameNode 的事务文件存储的目录,以,号隔开,hdfs 会把事务文件冗

    16、余复制到这些目录 。31、fs.checkpoint.period默认值:3600动态检查的间隔时间设置,默认为1小时。32、fs.checkpoint.size默认值:67108864日志文件大小为64M。33、fs.s3.block.size默认值:67108864写 S3文件系统的块的大小为64M。34、fs.s3.buffer.dir默认值:$hadoop.tmp.dir/s3S3文件数据的本地存放目录。35、fs.s3.maxRetries默认值:4S3文件数据的偿试读写次数。36、fs.s3.sleepTimeSeconds默认值:10S3文件偿试的间隔。37、Local.cach

    17、e.size默认值;10737418240缓存大小设置为10GB.38、press.blocksize默认值:1000000压缩流式文件中的最小块数为100万。39、io.seqfile.lazydecompress默认值:true块是否需要压缩标识设定。40、io.seqfile.sorter.recordlimit默认值:1000000内存中排序记录块类最小为100万。41、io.mapfile.bloom.size默认值:1048576BloomMapFiler 过滤量为1M。42、io.mapfile.bloom.error.rate默认值:0.005误报的速度在 BloomFilte

    18、r-s BloomMapFile 中使用。当这个值减少,BloomFilter-s的规模呈指数增长。这个值是遇到误报(默认值是0.5%)的概率。43、Hadoop.util.hash.type默认值:murmur缺少 hash 方法为 murmur。44、ipc.client.idlethreshold默认值:4000连接数据最小阀值为4000。45、ipc.client.kill.max默认值:10一个客户端连接数最大值为10。46、ipc.client.connection.maxidletime默认值:10000断开与服务器连接的时间最大为10秒.47、ipc.client.connec

    19、t.max.retries默认值:10建立与服务器连接的重试次数为10次48、ipc.server.listen.queue.size默认值:128接收客户连接的监听队例的长度为128。49、ipc.server.tcpnodelay默认值:false开启或关闭服务器端 TCP 连接算法。50、ipc.client.tcpnodelay默认值:false开启或关闭客户端 TCP 连接算法。51、webinterface.private.actions默认值:falseWeb 交互的行为设定。52、hadoop.rpc.socket.factory.class.default默认值:.Stand

    20、ardSocketFactory缺省的 socket 工厂类设置。53、hadoop.rpc.socket.factory.class.ClientProtocol与 dfs 连接时的缺省 socket 工厂类。54、hadoop.socks.server服务端的工厂类缺省设置为 SocksSocketFactory.55、topology.node.switch.mapping.impl默认值:.ScriptBasedMapping56、topology.script.file.name默认值:57、topology.script.number.args默认值:100参数数量最多为100。5

    21、8、hadoop.security.uid.cache.secs默认值:1440059、fs.inmemory.size.mb 默认值:reduce 阶段用户合并 map 输出所需的内存文件系统分配更多的内存。 reduce 阶段用户合并 map 输出的内存限制。一般设为200 ,可根据自身硬件设备进行更改测试。fs.inmemory200hdfs-default.html1、dfs.namenode.logging.level默认值:info输出日志类型。2、dfs.secondary.http.address默认值:0.0.0.0:50090备份名称节点的 http 协议访问地址与端口。3

    22、、dfs.datanode.address默认值:0.0.0.0:50010数据节点的 TCP 管理服务地址和端口。4、dfs.datanode.http.address默认值:0.0.0.0:50010数据节点的 HTTP 协议访问地址和端口。5、dfs.datanode.ipc.address默认值:0.0.0.0:50020数据节点的 IPC 服务访问地址和端口。6、dfs.datanode.handler.count默认值:3数据节点的服务连接处理线程数。7、dfs.http.address默认值:0.0.0.0:50070名称节点的 http 协议访问地址与端口。8、dfs.http

    23、s.enable默认值:false支持 https 访问方式标识。9、dfs.https.need.client.auth默认值:false客户端指定 https 访问标识。10、dfs.https.server.keystore.resource默认值:ssl-server.xmlSsl 密钥服务端的配置文件。11、dfs.https.client.keystore.resource默认值:ssl-client.xmlSsl 密钥客户端的配置文件。12、dfs.datanode.https.address默认值:0.0.0.0:50475数据节点的 HTTPS 协议访问地址和端口。13、df

    24、s.https.address默认值:0.0.0.0:50470名称节点的 HTTPS 协议访问地址和端口。14、dfs.datanode.dns.interface默认值:default数据节点采用 IP 地址标识。15、dfs.datanode.dns.nameserver默认值:default指定 DNS 的 IP 地址。16、dfs.replication.considerLoad默认值:true加载目标或不加载的标识。17、dfs.default.chunk.view.size默认值:32768浏览时的文件块大小设置为32K。18、dfs.datanode.du.reserved默认

    25、值:0每个卷预留的空闲空间数量。19、dfs.name.dir默认值:$hadoop.tmp.dir/dfs/name存贮在本地的名字节点数据镜象的目录,作为名字节点的冗余备份。20、dfs.name.edits.dir默认值:$dfs.name.dir存贮文件操作过程信息的存贮目录。21、dfs.web.ugi默认值:webuser,webgroupWeb 接口访问的用户名和组的帐户设定。22、dfs.permissions默认值:true文件操作时的权限检查标识。23、dfs.permissions.supergroup默认值:supergroup超级用户的组名定义。24、dfs.bloc

    26、k.access.token.enable默认值:false数据节点访问令牌标识。25、dfs.block.access.key.update.interval默认值:600升级访问钥时的间隔时间。26、dfs.block.access.token.lifetime默认值:600访问令牌的有效时间。27、dfs.data.dir 默认值:$hadoop.tmp.dir/dfs/data数据节点的块本地存放目录。28、dfs.datanode.data.dir.perm默认值:755数据节点的存贮块的目录访问权限设置。29、dfs.replication默认值:3缺省的块复制数量。30、dfs.

    27、replication.max默认值:512块复制的最大数量。31、dfs.replication.min默认值:1块复制的最小数量。32、dfs.block.size默认值:67108864缺省的文件块大小为64M。hdfs 里一个文件块的大小,默认64M ,通常设置134217728,即128M,太大的话会有较少 map 同时计算,太小的话也浪费可用 map个数资源,而且文件太小 namenode 就浪费内存多。根据需要进行设置。dfs.block.size13421772833、dfs.df.interval默认值:60000磁盘空间统计间隔为6秒。34、dfs.client.block

    28、.write.retries默认值:3块写入出错时的重试次数。35、dfs.blockreport.intervalMsec默认值:3600000块的报告间隔时为1小时。36、dfs.blockreport.initialDelay默认值:0块顺序报告的间隔时间。37、dfs.heartbeat.interval默认值:3数据节点的心跳检测间隔时间,单位为秒。38、dfs.namenode.handler.count默认值:10名称节点的连接处理的线程数量。若改为数值,同样可以尝试该值大小对效率的影响变化进行最合适的值的设定。39、dfs.safemode.threshold.pct默认值:0

    29、.999f启动安全模式的阀值设定。40、Dfs.safemode.extension默认值:30000当阀值达到量值后扩展的时限。41、dfs.balance.bandwidthPerSec默认值:1048576启动负载均衡的数据节点可利用带宽最大值为1M。42、dfs.hosts默认值:可与名称节点连接的主机地址文件指定。43、dfs.hosts.exclude默认值:删除与名称节点连接的主机地址文件设定。44、dfs.max.objects默认值:0文件数、目录数、块数的最大数量。45、dfs.namenode.decommission.interval默认值:30名称节点解除命令执行时的

    30、监测时间周期。46、dfs.namenode.decommission.nodes.per.interval默认值:5名称节点解除命令执行是否完检测次数。47、dfs.replication.interval默认值:3名称节点计算数据节点的复制工作的周期数。48、dfs.access.time.precision默认值:3600000充许访问文件的时间精确到1小时。49、dfs.support.append默认值:false是否充许链接文件指定。50、dfs.namenode.delegation.key.update-interval默认值:86400000名称节点上的代理令牌的主 key

    31、的更新间隔时间为24小时。51、dfs.namenode.delegation.token.max-lifetime默认值:604800000代理令牌的有效时间最大值为7天。52、dfs.namenode.delegation.token.renew-interval默认值:86400000代理令牌的更新时间为24小时53、dfs.datanode.failed.volumes.tolerated默认值:0决定停止数据节点提供服务充许卷的出错次数。0次则任何卷出错都要停止数据节点。mapred-default.html1、Hadoop.job.history.location默认值:作业跟踪管

    32、理器的静态历史文件的存放目录。2、hadoop.job.history.user.location默认值:可以指定具体某个作业的跟踪管理器的历史文件存放目录。3、pleted.location默认值:已完成作业的历史文件的存放目录。4、io.sort.factor默认值:10排完序的文件的合并时的打开文件句柄数。int 类型,Map 端和 Reduce 端使用该属性设置在 Map 端和 Reduce 端都使用到的对文件 Sort 时一次合并的最大流,其默认值是10 ,即一次合并10 个流。在集群中,将其适当增大能够提高并行度以缩短合并所需时间。有利于减少合并次数,进而减少 map 对磁盘的读写

    33、频率,有可能达到优化作业的目的。io.sort.factor1005、io.sort.mb默认值:100排序文件的内存缓存大小。int 类型,Map 端使用该属性设置对 Map 输出进行排序时使用的环形内存缓冲区的大小,以 M 字节为单位,默认是100M。如果允许,应该增加它的值来减少磁盘溢写的次数以提高性能。io.sort.mb2006、io.sort.record.percent默认值:0.05排序线程阻塞的内存缓存剩余比率。该属性设置指 io.sort.mb 中用来存储 Map 输出的记录边界的百分比,其他剩余的缓存空间用来存储 Map 输出记录本身。io.sort.record.per

    34、cent0.057、io.sort.spill.percent默认值:0.80当缓冲占用量为该值时,线程需要将内容先备份到磁盘中。即 Map 开始做 spill(溢写)操作的阈值(buffer size * spill percent = 100MB * 0.8 = 80MB) 。内容缓冲区默认大小为100M 时,溢写线程启动,锁定这80MB 的内存,执行溢写过程。Map task 的输出结果还可以往剩下的20MB 内存中写,互不影响。如果你确认 map 输出的数据基本有序,排序时间很短,可以将这个阈值适当调高,更理想的,如果你的 map 输出是有序的数据,那么可以把 buffer 设的更大,

    35、阈值设置为1。io.sort.spill.percent0.808、io.map.index.skip默认值:0索引条目的间隔设定。9、mapred.job.tracker默认值:local作业跟踪管理器是否和 MR 任务在一个进程中。10、mapred.job.tracker.http.address默认值:0.0.0.0:50030作业跟踪管理器的 HTTP 服务器访问端口和地址。11、mapred.job.tracker.handler.count默认值:10作业跟踪管理器的管理线程数,线程数比例是任务管理跟踪器数量的0.04。较大集群的话,可调大些,比如64。mapred.job.tr

    36、acker.handler.count1012、mapred.task.tracker.report.address默认值:127.0.0.1:0任务管理跟踪器的主机地址和端口地址。13、mapred.local.dir默认值:$hadoop.tmp.dir/mapred/localMR 的中介数据文件存放目录。14、mapred.system.dir默认值:$hadoop.tmp.dir/mapred/systemMR 的控制文件存放目录。15、mapreduce.jobtracker.staging.root.dir默认值:$hadoop.tmp.dir/mapred/staging每个正

    37、在运行作业文件的存放区。16、mapred.temp.dir默认值:$hadoop.tmp.dir/mapred/tempMR 临时共享文件存放区。17、mapred.local.dir.minspacestart默认值:0MR 本地中介文件删除时,不充许有任务执行的数量值。18、mapred.local.dir.minspacekill默认值:0MR 本地中介文件删除时,除非所有任务都已完成的数量值。19、mapred.tasktracker.expiry.interval默认值:600000任务管理跟踪器不发送心跳的累计时间间隔超过600秒,则任务管理跟踪器失效。20、mapred.tas

    38、ktracker.resourcecalculatorplugin默认值:指定的一个用户访问资源信息的类实例。21、mapred.tasktracker.taskmemorymanager.monitoring-interval默认值:5000监控任务管理跟踪器任务内存使用率的时间间隔。22、mapred.tasktracker.tasks.sleeptime-before-sigkill默认值:5000发出进程终止后,间隔5秒后发出进程消亡信号。23、mapred.map.tasks默认值:2每个作业缺省的 map 任务数为2。24、mapred.reduce.tasks默认值:1每个作业缺

    39、省的 reduce 任务数为1。25、mapreduce.tasktracker.outofband.heartbeat默认值:false让在任务结束后发出一个额外的心跳信号。26、mapreduce.tasktracker.outofband.heartbeat.damper默认值:1000000当额外心跳信号发出量太多时,则适当阻止。27、mapred.jobtracker.restart.recover默认值:false充许任务管理器恢复时采用的方式。28、mapred.jobtracker.job.history.block.size默认值:3145728作业历史文件块的大小为3M。2

    40、9、mapreduce.job.split.metainfo.maxsize默认值:10000000分隔元信息文件的最大值是10M 以下。30、mapred.jobtracker.taskScheduler默认值:org.apache.hadoop.mapred.JobQueueTaskScheduler设定任务的执行计划实现类。31、mapred.jobtracker.taskScheduler.maxRunningTasksPerJob默认值:作业同时运行的任务数的最大值。32、mapred.map.max.attempts默认值:4Map 任务的重试次数。33、mapred.reduce

    41、.max.attempts默认值:4Reduce 任务的重试次数。34、mapred.reduce.parallel.copies 默认值:5在复制阶段时 reduce 并行传送的值。reuduce shuffle 阶段并行传输数据的数量。将 Map 输出复制到 Reduce 的线程的数量。对于较大集群,根据需要可以将其增大到20-50,增加了 Reduce 端复制过程的并行数,提高了系统性能。mapred.reduce.parallel.copies535、mapreduce.reduce.shuffle.maxfetchfailures默认值:10取 map 输出的最大重试次数。36、ma

    42、preduce.reduce.shuffle.connect.timeout默认值:180000REDUCE 任务连接任务管理器获得 map 输出时的总耗时是3分钟。37、mapreduce.reduce.shuffle.read.timeout默认值:180000REDUCE 任务等待 map 输出数据的总耗时是3分钟。38、mapred.task.timeout默认值:600000如果任务无读无写时的时间耗时为10分钟,将被终止。39、mapred.tasktracker.map.tasks.maximum默认值:2任务管理器可同时运行 map 任务数为2。mapred.tasktrack

    43、er.map.tasks.maximum设置为节点的 cpu cores 数目或者数目减1比较合适,此时的运行效率最高。mapred.tasktracker.map.tasks.maximum240、mapred.tasktracker.reduce.tasks.maximum默认值:2任管管理器可同时运行 reduce 任务数为2。优化值:mapred.tasktracker.map.tasks.maximum = CPU 数量cpu 数量 = 服务器 CPU 总核数 / 每个 CPU 的核数服务器 CPU 总核数 = more /proc/cpuinfo | grep processor

    44、| wc -l每个 CPU 的核数 = more /proc/cpuinfo | grep cpu coresmapred.tasktracker.reduce.tasks.maximum241、pleteuserjobs.maximum默认值:100当用户的完成作业数达100个后,将其放入作业历史文件中。42、mapreduce.reduce.input.limit默认值:-1Reduce 输入量的限制。43、mapred.job.tracker.retiredjobs.cache.size默认值:1000作业状态为已不在执行的保留在内存中的量为100044、mapred.job.track

    45、er.jobhistory.lru.cache.size默认值:5作业历史文件装载到内存的数量。45、mapred.child.java.opts默认值:-Xmx200m启动 task 管理的子进程时的内存设置。String 类型,Map 和 Reduce 任务虚拟机使用该属性设置 Map 和 Reduce 任务运行时 Java 虚拟机指定的内存的大小,默认-Xmx200m,分配给每个任务200MB 内存。只要条件允许,应该让任务节点上的内存大小尽量大,可以将其增大到-Xmx512m ,即512MB,以提高MapReduce 作业的性能。mapred.child.java.opts-Xmx51

    46、2m46、mapred.child.env默认值:子进程的参数设置。47、mapred.child.ulimit默认值:虚拟机所需内存的设定。48、mapred.cluster.map.memory.mb默认值:-149、mapred.cluster.reduce.memory.mb默认值:-150、mapred.cluster.max.map.memory.mb默认值:-151、mapred.cluster.max.reduce.memory.mb默认值:-152、mapred.job.map.memory.mb默认值:-153、mapred.job.reduce.memory.mb默认值:

    47、-154、mapred.child.tmp默认值:/tmpMr 任务信息的存放目录。55、mapred.inmem.merge.threshold默认值:1000内存中的合并文件数设置。配置项 mapred.job.shuffle.merge.percent 优先判断,其次才判断 mapred.inmem.merge.threshold。threshold 取决于 map 输出数据的大小,如果 map 输出的数据很大,默认值1000反倒不好,应该小一些,如果 map输出的数据不大(light weight) ,可以设置2000或者以上。mapred.inmem.merge.threshold1

    48、00056、mapred.job.shuffle.merge.percent默认值:0.66reduce 归并接收 map 的输出数据可占用的内存配置百分比。类似mapreduce.reduce.shuffle.input.buffer.percen 属性。缓存的内存中多少百分比后开始做 merge(合并) 操作。假设 mapred.job.shuffle.input.buffer.percent 为0.7,reduce task 的 max heapsize 为1G ,那么用来做下载数据缓存的内存就为大概 700MB 左右,这700M 的内存,跟 map 端一样,也不是要等到全部写满才会往磁

    49、盘刷的,而是当这700M 中被使用到了一定的限度(通常是一个百分比) ,就会开始往磁盘刷。这个限度阈值也是可以通过 job 参数来设定的,设定参数为:mapred.job.shuffle.merge.percent(default 0.66) 。如果下载速度很快,很容易就把内存缓存撑大,那么调整一下这个参数有可能会对reduce 的性能有所帮助。默认值偏小,可以设置到0.8左右;mapred.job.shuffle.merge.percent0.7057、mapred.job.shuffle.input.buffer.percent默认值:0.70用来缓存 shuffle 数据的 reduce task heap 百分比。Reduce 在 shuffle 阶段对下载来

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:(优化)参数总结.doc
    链接地址:https://www.docduoduo.com/p-9148340.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开