本文整理汇总了Java中org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenRequest.getDelegationToken方法的典型用法代码示例。如果您正苦于以下问题:Java RenewDelegationTokenRequest.getDelegationToken方法的具体用法?Java RenewDelegationTokenRequest.getDelegationToken怎么用?Java RenewDelegationTokenRequest.getDelegationToken使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenRequest
的用法示例。
在下文中一共展示了RenewDelegationTokenRequest.getDelegationToken方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: renewDelegationToken
import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenRequest; //导入方法依赖的package包/类
@Override
public RenewDelegationTokenResponse renewDelegationToken(
RenewDelegationTokenRequest request) throws YarnException {
try {
if (!isAllowedDelegationTokenOp()) {
throw new IOException(
"Delegation Token can be renewed only with kerberos authentication");
}
org.apache.hadoop.yarn.api.records.Token protoToken = request.getDelegationToken();
Token<RMDelegationTokenIdentifier> token = new Token<RMDelegationTokenIdentifier>(
protoToken.getIdentifier().array(), protoToken.getPassword().array(),
new Text(protoToken.getKind()), new Text(protoToken.getService()));
String user = getRenewerForToken(token);
long nextExpTime = rmDTSecretManager.renewToken(token, user);
RenewDelegationTokenResponse renewResponse = Records
.newRecord(RenewDelegationTokenResponse.class);
renewResponse.setNextExpirationTime(nextExpTime);
return renewResponse;
} catch (IOException e) {
throw RPCUtil.getRemoteException(e);
}
}