diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/ContainerManagerImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/ContainerManagerImpl.java index 712bc43..316c48c 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/ContainerManagerImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/ContainerManagerImpl.java @@ -232,6 +232,14 @@ protected void serviceStart() throws Exception { // Enqueue user dirs in deletion context Configuration conf = getConfig(); + Configuration serverConf = new Configuration(conf); + if (!UserGroupInformation.isSecurityEnabled()) { + // If the auth is not-simple, enforce it to be token-based. + serverConf.set( + CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION, + UserGroupInformation.AuthenticationMethod.TOKEN.toString()); + } + YarnRPC rpc = YarnRPC.create(conf); InetSocketAddress initialAddress = conf.getSocketAddr( @@ -240,8 +248,8 @@ protected void serviceStart() throws Exception { YarnConfiguration.DEFAULT_NM_PORT); server = - rpc.getServer(ContainerManagementProtocol.class, this, initialAddress, conf, - this.context.getNMTokenSecretManager(), + rpc.getServer(ContainerManagementProtocol.class, this, initialAddress, + serverConf, this.context.getNMTokenSecretManager(), conf.getInt(YarnConfiguration.NM_CONTAINER_MGR_THREAD_COUNT, YarnConfiguration.DEFAULT_NM_CONTAINER_MGR_THREAD_COUNT)); @@ -251,7 +259,7 @@ protected void serviceStart() throws Exception { false)) { refreshServiceAcls(conf, new NMPolicyProvider()); } - + LOG.info("Blocking new container-requests as container manager rpc" + " server is still starting."); this.setBlockNewContainerRequests(true);