【Hadoop】【JHS】4-JHS服务之JHSDelegationTokenSecretManager源码解析

举报
沙漠里的果果酱 发表于 2023/08/09 17:31:57 2023/08/09
【摘要】 【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

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

全部回复

上滑加载中

设置昵称

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

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

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