|
@@ -47,6 +47,7 @@ import org.apache.hadoop.hdfs.client.HdfsClientConfigKeys;
|
|
|
import org.apache.hadoop.hdfs.protocol.ClientProtocol;
|
|
|
import org.apache.hadoop.hdfs.protocol.HdfsConstants;
|
|
|
import org.apache.hadoop.hdfs.protocol.HdfsConstants.StoragePolicySatisfierMode;
|
|
|
+import org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenIdentifier;
|
|
|
import org.apache.hadoop.hdfs.server.aliasmap.InMemoryAliasMap;
|
|
|
import org.apache.hadoop.hdfs.server.aliasmap.InMemoryLevelDBAliasMapServer;
|
|
|
import org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager;
|
|
@@ -55,6 +56,7 @@ import org.apache.hadoop.hdfs.server.common.HdfsServerConstants.RollingUpgradeSt
|
|
|
import org.apache.hadoop.hdfs.server.common.HdfsServerConstants.StartupOption;
|
|
|
import org.apache.hadoop.hdfs.server.common.MetricsLoggerTask;
|
|
|
import org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory;
|
|
|
+import org.apache.hadoop.hdfs.server.common.TokenVerifier;
|
|
|
import org.apache.hadoop.hdfs.server.namenode.ha.ActiveState;
|
|
|
import org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby;
|
|
|
import org.apache.hadoop.hdfs.server.namenode.ha.HAContext;
|
|
@@ -208,7 +210,7 @@ import static org.apache.hadoop.fs.CommonConfigurationKeys.IPC_BACKOFF_ENABLE_DE
|
|
|
**********************************************************/
|
|
|
@InterfaceAudience.Private
|
|
|
public class NameNode extends ReconfigurableBase implements
|
|
|
- NameNodeStatusMXBean {
|
|
|
+ NameNodeStatusMXBean, TokenVerifier<DelegationTokenIdentifier> {
|
|
|
static{
|
|
|
HdfsConfiguration.init();
|
|
|
}
|
|
@@ -656,6 +658,11 @@ public class NameNode extends ReconfigurableBase implements
|
|
|
return (ugi != null) ? ugi : UserGroupInformation.getCurrentUser();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void verifyToken(DelegationTokenIdentifier id, byte[] password)
|
|
|
+ throws IOException {
|
|
|
+ namesystem.verifyToken(id, password);
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* Login as the configured user for the NameNode.
|