mapred-site.xml的参数说明

本文介绍了Hadoop MapReduce配置参数的详细设置,包括输入文件限制、任务计数器、输出压缩、内存管理等关键参数,有助于优化MapReduce作业性能。

Hadoop版本:Hadoop-2.6.0

<?xml version="1.0" encoding="UTF-8"?>

<!--Autogenerated by Cloudera Manager-->
<configuration>
  <property>

    #该参数限制输入文件数目,避免namenode出现元数据加载处理瓶颈。详细说明见“http://blog.youkuaiyun.com/fjssharpsword/article/details/70258251”
    <name>mapreduce.job.split.metainfo.maxsize</name>
    <value>10000000</value>
  </property>
  <property>

    #该参数限制job调用counter不能超过120。
    <name>mapreduce.job.counters.max</name>
    <value>120</value>
  </property>
  <property>

    #略过
    <name>mapreduce.job.counters.groups.max</name>
    <value>50</value>
  </property>
  <property>

    #job输出是否需要压缩
    <name>mapreduce.output.fileoutputformat.compress</name>
    <value>false</value>
  </property>
  <property>

    #job输出压缩的类型
    <name>mapreduce.output.fileoutputformat.compress.type</name>
    <value>BLOCK</value>
  </property>
  <property>

    #参数控制job输出以何种压缩解码压缩
    <name>mapreduce.output.fileoutputformat.compress.codec</name>
    <value>org.apache.hadoop.io.compress.DefaultCodec</value>
  </property>
  <property>

    #参数控制map输出以何种压缩解码压缩
    <name>mapreduce.map.output.compress.codec</name>
    <value>org.apache.hadoop.io.compress.SnappyCodec</value>
  </property>
  <property>

    #map输出是否压缩
    <name>mapreduce.map.output.compress</name>
    <value>true</value>
  </property>
  <property>

    #zlib是一种压缩函数库
    <name>zlib.compress.level</name>
    <value>DEFAULT_COMPRESSION</value>
  </property>
  <property>

    #参数控制map的spill文件最大归并数
    <name>mapreduce.task.io.sort.factor</name>
    <value>64</value>
  </property>
  <property>

    #参数控制map的内存缓冲区的阀值率
    <name>mapreduce.map.sort.spill.percent</name>
    <value>0.8</value>
  </property>
  <property>

    #参数控制reduce在shuffle时的线程数
    <name>mapreduce.reduce.shuffle.parallelcopies</name>
    <value>10</value>
  </property>
  <property>

    #参数控制task读取输入文件或写入输出文件的超时,防止死循环。
    <name>mapreduce.task.timeout</name>
    <value>600000</value>
  </property>
  <property>

    #参数控制HDFS副本数,将输入数据放入更多DT上,尽可能实现本地化计算。
    <name>mapreduce.client.submit.file.replication</name>
    <value>1</value>
  </property>
  <property>

    #参数为job默认reduce数。
    <name>mapreduce.job.reduces</name>
    <value>8</value>
  </property>
  <property>

    #参数为task的排序内存缓冲大小。
    <name>mapreduce.task.io.sort.mb</name>
    <value>512</value>
  </property>
  <property>

    #参数控制map端是否并行。
    <name>mapreduce.map.speculative</name>
    <value>false</value>
  </property>
  <property>

    #参数控制reduce端是否并行
    <name>mapreduce.reduce.speculative</name>
    <value>false</value>
  </property>
  <property>

    #参数是是MapReduce编程模型中的一个参数,这个参数的含义是,当Map Task完成的比例达到该值后才会为Reduce Task申请资源,默认是0.05。

    <name>mapreduce.job.reduce.slowstart.completedmaps</name>
    <value>0.8</value>
  </property>
  <property>

    #参数是Hadoop一个自带的历史服务器的address。
    <name>mapreduce.jobhistory.address</name>
    <value>testslave01:10020</value>
  </property>
  <property>

    #参数是Hadoop一个自带的历史服务器的WEB address。
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>testslave01:19888</value>
  </property>
  <property>

    #略过
    <name>mapreduce.jobhistory.webapp.https.address</name>
    <value>testslave01:19890</value>
  </property>
  <property>

    #略过
    <name>mapreduce.jobhistory.admin.address</name>
    <value>testslave01:10033</value>
  </property>
  <property>

    #参数是yarn在mapreduce运行的程序名。
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>

     #参数是提交任务的路径。
    <name>yarn.app.mapreduce.am.staging-dir</name>
    <value>/user</value>
  </property>
  <property>

    #参数是Yarn为作业配置的重启AM的次数,若作业的重启次数超过该参数值,则不起作用。
    <name>mapreduce.am.max-attempts</name>
    <value>2</value>
  </property>
  <property>

    #参数是Yarn启动AppMaster分配给AppMaster的默认内存大小。
    <name>yarn.app.mapreduce.am.resource.mb</name>
    <value>1024</value>
  </property>
  <property>

    #参数是MR ApplicationMaster占用的虚拟CPU个数。
    <name>yarn.app.mapreduce.am.resource.cpu-vcores</name>
    <value>1</value>
  </property>
  <property>

    #参数是控制是否开启Uber运行模式。
    <name>mapreduce.job.ubertask.enable</name>
    <value>false</value>
  </property>
  <property>

    #Java opts for the MR App Master processes。
    <name>yarn.app.mapreduce.am.command-opts</name>
    <value>-Djava.net.preferIPv4Stack=true -Xmx825955249</value>
  </property>
  <property>

    #参数是map任务的jvm堆空间。
    <name>mapreduce.map.java.opts</name>
    <value>-Djava.net.preferIPv4Stack=true -Xmx1073741824</value>
  </property>
  <property>

    #参数是reduce任务的jvm堆空间。
    <name>mapreduce.reduce.java.opts</name>
    <value>-Djava.net.preferIPv4Stack=true -Xmx1073741824</value>
  </property>
  <property>

    #
    <name>yarn.app.mapreduce.am.admin.user.env</name>
    <value>LD_LIBRARY_PATH=$HADOOP_COMMON_HOME/lib/native:$JAVA_LIBRARY_PATH</value>
  </property>
  <property>

    #Environment variables for the MR App Master processes for admin purposes
    <name>mapreduce.map.memory.mb</name>
    <value>5120</value>
  </property>
  <property>

    #参数是每个Map Task需要的虚拟CPU个数
    <name>mapreduce.map.cpu.vcores</name>
    <value>1</value>
  </property>
  <property>

    #参数是每个Reduce Task需要的内存量
    <name>mapreduce.reduce.memory.mb</name>
    <value>2048</value>
  </property>
  <property>

    #参数是每个Reduce Task需要的虚拟CPU个数
    <name>mapreduce.reduce.cpu.vcores</name>
    <value>1</value>
  </property>
  <property>

    #略过
    <name>mapreduce.job.heap.memory-mb.ratio</name>
    <value>0.8</value>
  </property>
  <property>

    #参数是MP application的classpath。
    <name>mapreduce.application.classpath</name>
    <value>$HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,$MR2_CLASSPATH</value>
  </property>
  <property>

    #略过
    <name>mapreduce.jobhistory.jhist.format</name>
    <value>binary</value>
  </property>
  <property>

    #略过
    <name>mapreduce.admin.user.env</name>
    <value>LD_LIBRARY_PATH=$HADOOP_COMMON_HOME/lib/native:$JAVA_LIBRARY_PATH</value>
  </property>
  <property>

    #略过
    <name>mapreduce.job.redacted-properties</name>
    <value>fs.s3a.access.key,fs.s3a.secret.key</value>
  </property>
</configuration>


mapred-site.xml 配置文件用于 MapReduce 相关的配置,包含了 MapReduce 作业执行的资源管理和调度等参数。由于 YARN 是资源调度的主要框架,因此 MapReduce 的配置通常与 YARN 配合使用。以下是一些常见配置项及其作用和示例: - `mapreduce.framework.name`:指定 MapReduce 的执行框架,通常设置为 `yarn`。示例配置如下: ```xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> ``` - `mapreduce.map.memory.mb`:设置 Map 任务容器的内存大小,示例配置为 1024MB: ```xml <property> <name>mapreduce.map.memory.mb</name> <value>1024</value> </property> ``` - `mapreduce.reduce.memory.mb`:设置 Reduce 任务容器的内存大小,示例配置为 2048MB: ```xml <property> <name>mapreduce.reduce.memory.mb</name> <value>2048</value> </property> ``` - `mapreduce.jobtracker.address`:指定 MapReduce 作业提交的 JobTracker 地址,示例配置为 `jobtracker_host:9001`: ```xml <property> <name>mapreduce.jobtracker.address</name> <value>jobtracker_host:9001</value> </property> ``` 使用方法方面,在配置好 mapred-site.xml 文件后,需要将其分发到集群中的各个节点,然后重启 Hadoop 相关服务,使得配置生效。之后提交的 MapReduce 作业就会按照配置文件中的参数来执行资源管理和调度等操作。例如,可以通过以下命令提交 MapReduce 作业: ```bash hadoop jar your_mapreduce_job.jar MainClass input_path output_path ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值