【Hadoop】【JHS】3-JHS服务之HistoryServerStateStoreService源码解析

举报
沙漠里的果果酱 发表于 2023/08/09 17:30:56 2023/08/09
【摘要】 【Hadoop】【JHS】3-JHS服务之HistoryServerStateStoreService源码解析

HistoryServerStateStoreService是一个service,同时作为history server的状态存储基类。
hadoop开放了参数:
mapreduce.jobhistory.recovery.enable             false
mapreduce.jobhistory.recovery.store.class        HistoryServerStateStoreService
客户可以根据自己的用法决定是否要打开history server状态恢复功能,以及是否要自定义状态恢复类。
但自定义实现必须要继承HistoryServerStateStoreService类。因为HistoryServerStateStoreService是一个抽象类,不能创建实例,因此如果打开了这个开关就必须要提供自定义实现类。默认是关闭的。

介绍HistoryServerStateService类之前首先介绍下它里面的一个重要的内部类;

public static class HistoryServerState {
  Map<MRDelegationTokenIdentifier, Long> tokenState = new HashMap<MRDelegationTokenIdentifier, Long>();
  Set<DelegationKey> tokenMasterKeyState = new HashSet<DelegationKey>();

  public Map<MRDelegationTokenIdentifier, Long> getTokenState() {
    return tokenState;
  }

  public Set<DelegationKey> getTokenMasterKeyState() {
    return tokenMasterKeyState;
  }
}

除此之外就是各种接口的定义,主要有是三种接口:
1-管理storage

protected abstract void initStorage(Configuration conf) throws IOException;

protected abstract void startStorage() throws IOException;

protected abstract void closeStorage() throws IOException;

2-管理DT
public abstract void storeToken(MRDelegationTokenIdentifier tokenId, Long renewDate) throws IOException;

public abstract void updateToken(MRDelegationTokenIdentifier tokenId, Long renewDate) throws IOException;

public abstract void removeToken(MRDelegationTokenIdentifier tokenId)throws IOException;

3-管理master key
public abstract void storeTokenMasterKey(DelegationKey key) throws IOException;

public abstract void removeTokenMasterKey(DelegationKey key) throws IOException;







【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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