【Hadoop】【JHS】4-JHS服务之JHSDelegationTokenSecretManager源码解析
【摘要】 【Hadoop】【JHS】4-JHS服务之JHSDelegationTokenSecretManager源码解析
/**
* A MapReduce specific delegation token secret manager.
* The secret manager is responsible for generating and accepting the password
* for each token.
*/
依旧惯例,在介绍一个类之前先要搞清楚这个类大概是在干什么有什么功能。从上面的注释中可以很清晰的了解到,JHSDelegationTokenSecretManager类的主要作用来生成mapreduce 的DT的master key管理,这里称之为secret manager;
/**
* Create a secret manager
* @param delegationKeyUpdateInterval the number of milliseconds for rolling new secret keys. master keys更新周期;
* @param delegationTokenMaxLifetime the maximum lifetime of the delegation tokens in milliseconds DT的最大生命周期;
* @param delegationTokenRenewInterval how often the tokens must be renewed in milliseconds DT的renew周期;通常小于最大生命周期
* @param delegationTokenRemoverScanInterval how often the tokens are scanned for expired tokens in milliseconds 移除过期Token的时间周期
* @param store history server state store for persisting state
*/
public JHSDelegationTokenSecretManager(long delegationKeyUpdateInterval,
long delegationTokenMaxLifetime,
long delegationTokenRenewInterval,
long delegationTokenRemoverScanInterval,
HistoryServerStateStoreService store) {
super(delegationKeyUpdateInterval, delegationTokenMaxLifetime,
delegationTokenRenewInterval, delegationTokenRemoverScanInterval);
//store默认情况下为HistoryServerNullStateStoreService类型,用来存储master key和DT
this.store = store;
}
HistoryServerStateStoreService只是一个master key和DT的数据结构;
JHSDelegationTokenSecretManager则是管理master和DT的工具。其功能也很简单,主要有下面的几种接口:
1-创建DT;
2-存储新的master key;
3-移除老的master key;
4-存储新的token;
5-移除老的token;
6-更新老的token;
7-recover DT到NN中,在jhs启动之前。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)