|
@@ -108,6 +108,7 @@ import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.even
|
|
import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.event.ResourceLocalizedEvent;
|
|
import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.event.ResourceLocalizedEvent;
|
|
import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.event.ResourceReleaseEvent;
|
|
import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.event.ResourceReleaseEvent;
|
|
import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.event.ResourceRequestEvent;
|
|
import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.event.ResourceRequestEvent;
|
|
|
|
+import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.security.LocalizerTokenIdentifier;
|
|
import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.security.LocalizerTokenSecretManager;
|
|
import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.security.LocalizerTokenSecretManager;
|
|
import org.apache.hadoop.yarn.server.nodemanager.security.authorize.NMPolicyProvider;
|
|
import org.apache.hadoop.yarn.server.nodemanager.security.authorize.NMPolicyProvider;
|
|
import org.apache.hadoop.yarn.server.nodemanager.util.NodeManagerBuilderUtils;
|
|
import org.apache.hadoop.yarn.server.nodemanager.util.NodeManagerBuilderUtils;
|
|
@@ -135,6 +136,7 @@ public class ResourceLocalizationService extends CompositeService
|
|
private LocalizerTracker localizerTracker;
|
|
private LocalizerTracker localizerTracker;
|
|
private RecordFactory recordFactory;
|
|
private RecordFactory recordFactory;
|
|
private final ScheduledExecutorService cacheCleanup;
|
|
private final ScheduledExecutorService cacheCleanup;
|
|
|
|
+ private LocalizerTokenSecretManager secretManager;
|
|
|
|
|
|
private LocalResourcesTracker publicRsrc;
|
|
private LocalResourcesTracker publicRsrc;
|
|
|
|
|
|
@@ -267,9 +269,8 @@ public class ResourceLocalizationService extends CompositeService
|
|
Server createServer() {
|
|
Server createServer() {
|
|
Configuration conf = getConfig();
|
|
Configuration conf = getConfig();
|
|
YarnRPC rpc = YarnRPC.create(conf);
|
|
YarnRPC rpc = YarnRPC.create(conf);
|
|
- LocalizerTokenSecretManager secretManager = null;
|
|
|
|
if (UserGroupInformation.isSecurityEnabled()) {
|
|
if (UserGroupInformation.isSecurityEnabled()) {
|
|
- secretManager = new LocalizerTokenSecretManager();
|
|
|
|
|
|
+ secretManager = new LocalizerTokenSecretManager();
|
|
}
|
|
}
|
|
|
|
|
|
Server server = rpc.getServer(LocalizationProtocol.class, this,
|
|
Server server = rpc.getServer(LocalizationProtocol.class, this,
|
|
@@ -1017,6 +1018,12 @@ public class ResourceLocalizationService extends CompositeService
|
|
LOG.debug(tk.getService() + " : " + tk.encodeToUrlString());
|
|
LOG.debug(tk.getService() + " : " + tk.encodeToUrlString());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (UserGroupInformation.isSecurityEnabled()) {
|
|
|
|
+ LocalizerTokenIdentifier id = secretManager.createIdentifier();
|
|
|
|
+ Token<LocalizerTokenIdentifier> localizerToken =
|
|
|
|
+ new Token<LocalizerTokenIdentifier>(id, secretManager);
|
|
|
|
+ credentials.addToken(id.getKind(), localizerToken);
|
|
|
|
+ }
|
|
credentials.writeTokenStorageToStream(tokenOut);
|
|
credentials.writeTokenStorageToStream(tokenOut);
|
|
} finally {
|
|
} finally {
|
|
if (tokenOut != null) {
|
|
if (tokenOut != null) {
|