Hadoop源码分析33 Child的主要流程

本文详细介绍了如何在Hadoop中配置调试参数,包括使用-Xmx200m、-Xdebug、-Xrunjdwp等选项,并通过提交WordCount作业来生成两个Map和两个Reduce任务。此外,文章还涉及了执行Setup任务、生成JobToken文件、设置工作目录、启动TaskReporter线程以及处理任务状态更新和ping操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

添加调试参数

 

<property>

  namemapred.child.java.opts/name

  value-Xmx200m-Xdebug-Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=y/value

/property

 

提交作业:

hadoop  jar /opt/hadoop-1.0.0/hadoop-examples-1.0.0.jar wordcount /user/admin/in/yellow2.txt /user/admin/out/128

 

生成2Map2Reduce任务。

 

执行Setup任务:

 

args= [127.0.0.1,40996, attempt_201404282305_0001_m_000003_0,/opt/hadoop-1.0.0/logs/userlogs/job_201404282305_0001/attempt_201404282305_0001_m_000003_0,-1093852866]

 

变量:

jvmId=JVMId{id=-1093852866,isMap=true,jobId=job_201404282305_0001}

 

cwd=/tmp/hadoop-admin/mapred/local/taskTracker/admin/jobcache/job_201404282305_0001/attempt_201404282305_0001_m_000003_0/work

 

jobTokenFile=/tmp/hadoop-admin/mapred/local/taskTracker/admin/jobcache/job_201404282305_0001/jobToken

 

taskOwner=job_201404282305_0001

 

umbilical=(TaskUmbilicalProtocol)RPC.getProxy(TaskUmbilicalProtocol.class,

             TaskUmbilicalProtocol.versionID,address,defaultConf);

 

context=JvmContext{jvmId=jvm_201404282305_0001_m_-1093852866,pid="28737"}

 

myTask =JvmTask  {shouldDie=false,

    t=MapTask  { taskId=attempt_201404282305_0001_m_000003_0,jobCleanup=false, jobSetup=truetaskCleanup=false, jobFile="/tmp/hadoop-admin/mapred/local/taskTracker/admin/jobcache/job_201404282305_0001/job.xml"}, taskStatus=MapTaskStatus{runState=UNASSIGNED}}      

 

job= JobConf{Configuration:core-default.xml, core-site.xml, mapred-default.xml,mapred-site.xml,/tmp/hadoop-admin/mapred/local/taskTracker/admin/jobcache/job_201404282305_0001/job.xml}

 

currentJobSegmented= false

isCleanup =false

 

DistributedFileSystem workingDir=hdfs://server1:9000/user/admin

 

启动一个TaskReporter线程,检查Task.progressFlag变量(AtomicBoolean)true则通过RPC汇报statusUpdate(taskId,taskStatus,jvmContext)false则通过RPC进行ping(askId,jvmContext).

 

TaskjobContext={conf={Configuration:core-default.xml, core-site.xml, mapred-default.xml,mapred-site.xml, hdfs-default.xml, hdfs-site.xml,/tmp/hadoop-admin/mapred/local/taskTracker/admin/jobcache/job_201404282305_0001/job.xml}

job=JobConf{Configuration:core-default.xml, core-site.xml, mapred-default.xml,mapred-site.xml, hdfs-default.xml, hdfs-site.xml,/tmp/hadoop-admin/mapred/local/taskTracker/admin/jobcache/job_201404282305_0001/job.xml},

jobId={job_201404282305_0001}}

 

TasktaskContext={conf={Configuration:core-default.xml, core-site.xml, mapred-default.xml,mapred-site.xml, hdfs-default.xml, hdfs-site.xml,/tmp/hadoop-admin/mapred/local/taskTracker/admin/jobcache/job_201404282305_0001/job.xml}taskId=attempt_201404282305_0001_m_000003_0jobId=job_201404282305_0001status=""}

 

outputFormat=org.apache.hadoop.mapreduce.lib.output.TextOutputFormat@7099c91f

 

committer={outputFileSystem=DFS[DFSClient[clientName=DFSClient_attempt_201404282305_0001_m_000003_0,ugi=admin]]outputpath=/user/admin/out/128, workPath=hdfs://server1:9000/user/admin/out/128/_temporary/_attempt_201404282305_0001_m_000003_0}

 

TaskresourceCalculator=org.apache.hadoop.util.LinuxResourceCalculatorPlugin@2288e718

 

TaskinitCpuCumulativeTime=13620

 

建立文件夹 /user/admin/out/128/_temporary后则完成.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值