Hadoop源码分析24 JobTracker启动和心跳处理流程
来源:互联网 发布:普中科技单片机论坛 编辑:程序博客网 时间:2024/05/15 23:52
1.初始化和启动JobTracker
生成一个JobQueueTaskScheduler
taskScheduler=(TaskScheduler)ReflectionUtils.newInstance(schedulerClass,conf);
生成一个实现 InterTrackerProtocol、JobSubmissionProtocol、RefreshUserMappingsProto
this.interTrackerServer=
启动HttpServer
infoServer=new HttpServer("job",infoBindAddress, tmpInfoPort,
.....
infoServer.start();
初始化JobHistory
jobHistoryServer=newJobHistoryServer(conf,aclsManager,infoServer);
jobHistoryServer.start();
获得本地FS客户端
this.localFs=FileSystem.getLocal(conf);
获得DFS客户端,即一个ClientProtocol的代理
fs=getMROwner().doAs(new PrivilegedExceptionActio
}
确认系统目录
发送RPC请求:ClientProtocol.getFileInfo("/tmp/hadoop-admin/mapred/system")
返回:org.apache.hadoop.hdfs.protocol.HdfsFileStatus@7b84a726,用来对比owner和permission
发送RPC请求:ClientProtocol.getListing(getListing(/tmp/hadoop-admin/mapred/system,[])
返回:[org.apache.hadoop.fs.FileStatus@f7ea7ce5],用以添加recovery的Job
发送RPC请求:ClientProtocol.delete(/tmp/hadoop-admin/mapred/system,true)
返回:true
发送RPC请求:ClientProtocol.mkdirs(/tmp/hadoop-admin/mapred/system,rwxr-xr-x)
返回:true
发送RPC请求:ClientProtocol.setPermission(/tmp/hadoop-admin/mapred/system,rwx------)
返回:true
启动 JobTracker
tracker.offerService();
发送RPC请求:ClientProtocol.getFileInfo(/tmp/hadoop-admin/mapred/system/jobtracker.info)
返回:null
发送RPC请求:ClientProtocol.getFileInfo(/tmp/hadoop-admin/mapred/system/jobtracker.info.recover)
返回:null
发送RPC请求:ClientProtocol.create(/tmp/hadoop-admin/mapred/system/jobtracker.info,rwxr-xr-x, DFSClient_168936446, true, true, 3, 67108864)
返回:输入流
发送RPC请求:ClientProtocol.setPermission(/tmp/hadoop-admin/mapred/system/jobtracker.info,rwx------)
返回:null
发送RPC请求:ClientProtocol.addBlock(/tmp/hadoop-admin/mapred/system/jobtracker.info,DFSClient_168936446, null)
返回:org.apache.hadoop.hdfs.protocol.LocatedBlock@1f8c3fc9
发送RPC请求:ClientProtocol.complete(/tmp/hadoop-admin/mapred/system/jobtracker.info,DFSClient_168936446)
返回:true
// start theinter-tracker server once the jt is ready
this.interTrackerServer.start();
2.JobTracker处理心跳
接收RPC请求:InterTrackerProtocol.getProtocolVersion(org.apache.hadoop.mapred.InterTrackerProtocol,29) from 10.1.1.102:47248
发送:29
接收RPC请求:InterTrackerProtocol.getProtocolVersion(org.apache.hadoop.mapred.InterTrackerProtocol,29) from 10.1.1.103:39223
发送:29
接收RPC请求:InterTrackerProtocol.getBuildVersion()from 10.1.1.102:47248
发送:1.0.0 from 1214675 byhortonfo on Thu Dec 15 16:36:35 UTC 2011
接收RPC请求:InterTrackerProtocol.getBuildVersion()from 10.1.1.103:39224
发送:1.0.0 from 1214675 byhortonfo on Thu Dec 15 16:36:35 UTC 2011
接收RPC请求:InterTrackerProtocol.getSystemDir()from 10.1.1.102:47250
发送:hdfs://server1:9000/tmp/hadoop-admin/mapred/system
接收RPC请求:InterTrackerProtocol.getSystemDir()from 10.1.1.103:39224
发送:://server1:9000/tmp/hadoop-admin/mapred/system
接收RPC请求:InterTrackerProtocol.heartbeat(org.apache.hadoop.mapred.TaskTrackerStatus@157052cb,true, true, true, -1) from 10.1.1.102:47252
发送:HeartbeatResponse:actions=[],
接收RPC请求:InterTrackerProtocol.heartbeat(org.apache.hadoop.mapred.TaskTrackerStatus@71999260,true, true, true, -1) from 10.1.1.103:39226
发送:
- Hadoop源码分析24 JobTracker启动和心跳处理流程
- Hadoop源码分析27 JobTracker空载处理心跳
- Hadoop源码分析28 JobTracker 处理JobClient请求
- Hadoop之JobTracker源码分析
- Hadoop源码分析26 JobTracker主要容器和线程
- JobTracker响应TaskTracker心跳及调度task源码级分析
- Hadoop心跳机制源码分析
- Hadoop心跳机制源码分析
- Hadoop心跳机制源码分析
- Hadoop心跳机制源码分析
- HADOOP MR架构分析 JobTracker 和 TaskTracker
- Hadoop源码之JobTracker
- Hadoop源码之JobTracker
- Hadoop集群中JobTracker和TaskTracker启动耗时过多的原因分析
- Hadoop JobTracker 分析
- Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)之BPServiceActor工作线程运行流程(上)
- Hadoop-2.4.1源码分析--HDFS HeartBeat(心跳检测)之BPServiceActor工作线程运行流程(下)
- hadoop 源码分析(一) jobClient 提交到JobTracker
- HDFS 读写流程概要
- MapReduce 运行流程概要
- Proactor和Reactor模式
- Hadoop源码分析23:MapReduce的Job提交过程
- JMX 监控 Hadoop
- Hadoop源码分析24 JobTracker启动和心跳处理流程
- Hadoop源码分析25 JobInProgress 主要容器
- Hadoop源码分析26 JobTracker主要容器和线程
- Hadoop源码分析27 JobTracker空载处理心跳
- Hadoop源码分析28 JobTracker 处理JobClient请求
- Hadoop源码分析29 split和splitmetainfo
- Hadoop源码分析30 JobInProgress 的 TaskInProgress 执行情况
- Hadoop源码分析31 TaskTracke成员
- Hadoop源码分析32 TaskTracker流程