赞
踩
几个关键性的概念
失败:
终止:
JobClient.runJob(config1);JobClient.runJob(config2);
jobMapReduce3.addDependingJob(jobMapReduce1);jobMapReduce3.addDependingJob(jobMapReduce2);jobControl.addJob(jobMapReduce1);jobControl.addJob(jobMapReduce2);jobControl.addJob(jobMapReduce3);jobControl.run();
参数 | 类型 | 默认值 | 说明 |
Map阶段 | |||
io.sort.mb | int | 100 | map输出的缓存大小,单位为MB |
io.sort.spill.percent | float | 0.8 | map输出缓存占用超过此比例将开始写入磁盘 |
io.sort.factor | int | 10 | 合并多个临时输出文件的数量,可增大 |
min.num.spills.for.combine | int | 3 | 输出临时文件达到此数量时会执行一次combine操作 |
tasktracker.http.threads | int | 40 | tasktracker可用于输出map文件的http线程数 |
Reduce阶段 | |||
mapred.reduce.parallel.copies | int | 5 | 可读取多个map输出的线程数 |
mapred.reduce.copy.backoff | int | 300 | reduce读取map输出的失败超时时间,s为单位 |
io.sort.factor | int | 10 | 处理之前合并输入文件的最大数量 |
mapred.job.shuffle.input.buffer.percent | float | 0.7 | 存储map输出数据的缓存占整个内存的比例 |
mapred.job.shuffle.merge.percent | float | 0.6 | 存储map输出数据的缓存的占用比例阀值,超过则存入磁盘 |
mapred.inmem.merge.threshold | int | 1000 | 当map输出文件超过此数量时,进行合并并存入磁盘 |
mapred.job.reduce.input.buffer.percent | float | 0.0 | 在reduce节点的内存中保持map输出数据的缓冲占整个内存的百分比,增大可以减少磁盘读写 |
mapred.child.java.opts | int | 200 | map或reduce任务可使用的内存大小,默认为200MB,可适当增大 |
io.file.buffer.size | int | 4096 | 进行磁盘I/O操作的是缓存大小,默认4kb,可提高为64kb或128kb |
参数 | 类型 | 默认值 | 说明 |
mapred.compress.map.output | Boolean | false | 是否启用map输出压缩 |
mapred.map.output.compression.codec | Class name | org.apache.hadoop.io.compress.DefaultCodec | map输出压缩类 |
参数 | 类型 | 默认值 | 说明 |
mapred.map.tasks.speculative.execution | Boolean | true | 是否启用map任务的预测执行机制 |
mapred.reduce.tasks.speculative.execution | Boolean | true | 是否启用reduce任务的预测执行机制 |
分布式文件系统应满足:
数据读取过程
HDFS性能优化
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。