Hadoop之Jobtracker启动过程

本文详细解析了Hadoop中Jobtracker的启动过程,包括创建JobTracker对象、启动服务线程,以及涉及的权限管理类如ACLsManager、QueueManager和JobACLsManager。此外,还介绍了DNSToSwitchMapper接口和各个服务线程的功能,如expireTrackersThread、retireJobsThread等,以及作业恢复机制。

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

1、Jobtracker启动过程
Jobtracker是一个后台进程,它包含了一个main函数。我们可以从main函数入手,逐步分析Jobtracker启动过程。在main函数中有2行比较重要的代码分别是:
JobTracker tracker = startTracker(new JobConf());//创建一个JobTracker的对象
tracker.offerService();//启动各个服务

2、其中startTracker()的主要工作是创建一个JobTracker的对象,其构造函数的主要作用是对一些重要的变量进行初始化;而函数offerService()则是启动JobTracker的内部一些重要的线程
这里写图片描述

2、1ACLsManager类
它是权限管理类,提供了checkAccess方法以对用户的各种操作进行权限检查,比如用户提交作业后,JobTracker.submintJob函数中包含以下代码检查用户是否可以提交作业
代码 下面是对用户进行一次鉴权
try {
aclsManager.checkAccess(job, ugi, Operation.SUBMIT_JOB);
} catch (IOException ioe) {
LOG.warn(“Access denied for user ” + job.getJobConf().getUser()
+ “. Ignoring job ” + jobId, ioe);
job.fail();
throw ioe;
}
该类涉及2种权限,队列权限和作业权限,分别有QueueManager类和JobACLsManager类进行管理
下面这对代码可以看出
aclsManager = new ACLsManager(conf, new JobACLsManager(conf),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值