Hadoop学习之MapReduce(三)

举报
格图洛书 发表于 2021/12/30 00:52:46 2021/12/30
【摘要】 在学习过MapReduce框架的几个关键类和接口后(只是简单的说明了类或者接口的作用及使用方式,要想深入了解如何工作的就需要深入研究源代码了,这也是计划中的学习任务),接下来看看任务的执行和环境,主要涉及的还是一些参数。TaskTracker将mapper/reducer任务作为子进程在不同的jvm中执行,子任务继承了父进程TaskTr...

在学习过MapReduce框架的几个关键类和接口后(只是简单的说明了类或者接口的作用及使用方式,要想深入了解如何工作的就需要深入研究源代码了,这也是计划中的学习任务),接下来看看任务的执行和环境,主要涉及的还是一些参数。TaskTracker将mapper/reducer任务作为子进程在不同的jvm中执行,子任务继承了父进程TaskTracker的环境。用户可以通过 mapred.{map|reduce}.child.java.opts配置参数指定额外的选项,比如通过-Djava.library.path=<>指定运行时链接器搜索共享库的非标准的路径。如果mapred.{map|reduce}.child.java.opts参数包含符号@taskid@ ,那么使用MapReduce任务的taskid的值替换@taskid@ 。需要注意的是mapred.{map|reduce}.child.java.opts只用于管理从TaskTracker加载的子任务。

下面是一个包含多个参数和替换的例子,展示了jvm的GC日志,启动了无密码登录的JVM JMX代理(这样可以连接到控制台等以查看子进程内存,线程和取得线程dump),分别设置了map和reduce子jvm的最大堆大小为512MB和1024MB,通过java.library.path为子jvm添加了额外的路径。代码如下:

<property> 
        <name>mapred.map.child.java.opts</name> 
        <value> -Xmx512M -Djava.library.path=/home/mycompany/lib-verbose:gc -  Xloggc:/tmp/@taskid@.gc  -Dcom.sun.manage

文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。

原文链接:wenyusuran.blog.csdn.net/article/details/25230989

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。