예제 #1
0
        public virtual void TestGetAMRMTokenService()
        {
            string            defaultRMAddress = YarnConfiguration.DefaultRmSchedulerAddress;
            YarnConfiguration conf             = new YarnConfiguration();
            // HA is not enabled
            Text tokenService = ClientRMProxy.GetAMRMTokenService(conf);

            string[] services = tokenService.ToString().Split(",");
            NUnit.Framework.Assert.AreEqual(1, services.Length);
            foreach (string service in services)
            {
                NUnit.Framework.Assert.IsTrue("Incorrect token service name", service.Contains(defaultRMAddress
                                                                                               ));
            }
            // HA is enabled
            conf.SetBoolean(YarnConfiguration.RmHaEnabled, true);
            conf.Set(YarnConfiguration.RmHaIds, "rm1,rm2");
            conf.Set(HAUtil.AddSuffix(YarnConfiguration.RmHostname, "rm1"), "0.0.0.0");
            conf.Set(HAUtil.AddSuffix(YarnConfiguration.RmHostname, "rm2"), "0.0.0.0");
            tokenService = ClientRMProxy.GetAMRMTokenService(conf);
            services     = tokenService.ToString().Split(",");
            NUnit.Framework.Assert.AreEqual(2, services.Length);
            foreach (string service_1 in services)
            {
                NUnit.Framework.Assert.IsTrue("Incorrect token service name", service_1.Contains(
                                                  defaultRMAddress));
            }
        }
 public virtual void Initialize()
 {
     StartHACluster(0, false, false, true);
     attemptId = this.cluster.CreateFakeApplicationAttemptId();
     amClient  = ClientRMProxy.CreateRMProxy <ApplicationMasterProtocol>(this.conf);
     Org.Apache.Hadoop.Security.Token.Token <AMRMTokenIdentifier> appToken = this.cluster
                                                                             .GetResourceManager().GetRMContext().GetAMRMTokenSecretManager().CreateAndGetAMRMToken
                                                                                 (attemptId);
     appToken.SetService(ClientRMProxy.GetAMRMTokenService(conf));
     UserGroupInformation.SetLoginUser(UserGroupInformation.CreateRemoteUser(UserGroupInformation
                                                                             .GetCurrentUser().GetUserName()));
     UserGroupInformation.GetCurrentUser().AddToken(appToken);
     SyncToken(appToken);
 }