Esempio n. 1
0
 /// <exception cref="System.IO.IOException"/>
 /// <exception cref="System.Exception"/>
 public virtual JobStatus[] GetAllJobs()
 {
     try
     {
         ICollection <string> appTypes = new HashSet <string>(1);
         appTypes.AddItem(MRJobConfig.MrApplicationType);
         EnumSet <YarnApplicationState> appStates = EnumSet.NoneOf <YarnApplicationState>();
         return(TypeConverter.FromYarnApps(client.GetApplications(appTypes, appStates), this
                                           .conf));
     }
     catch (YarnException e)
     {
         throw new IOException(e);
     }
 }
Esempio n. 2
0
        private void VerifyClientConnection()
        {
            int numRetries = 3;

            while (numRetries-- > 0)
            {
                Configuration conf   = new YarnConfiguration(this.conf);
                YarnClient    client = YarnClient.CreateYarnClient();
                client.Init(conf);
                client.Start();
                try
                {
                    client.GetApplications();
                    return;
                }
                catch (Exception e)
                {
                    Log.Error(e);
                }
                finally
                {
                    client.Stop();
                }
            }
            NUnit.Framework.Assert.Fail("Client couldn't connect to the Active RM");
        }
Esempio n. 3
0
        protected internal virtual void VerifyClientConnection()
        {
            int numRetries = 3;

            while (numRetries-- > 0)
            {
                Configuration conf   = new YarnConfiguration(this.conf);
                YarnClient    client = CreateAndStartYarnClient(conf);
                try
                {
                    Sharpen.Thread.Sleep(100);
                    client.GetApplications();
                    return;
                }
                catch (Exception e)
                {
                    Log.Error(e.Message);
                }
                finally
                {
                    client.Stop();
                }
            }
            NUnit.Framework.Assert.Fail("Client couldn't connect to the Active RM");
        }
Esempio n. 4
0
        /// <exception cref="System.Exception"/>
        public virtual void TestGetApplicationsOnHA()
        {
            IList <ApplicationReport> reports = client.GetApplications();

            NUnit.Framework.Assert.IsTrue(reports != null && !reports.IsEmpty());
            NUnit.Framework.Assert.AreEqual(cluster.CreateFakeAppReports(), reports);
        }
Esempio n. 5
0
 public override ICollection <ApplicationId> GetActiveApplications()
 {
     try
     {
         IList <ApplicationId>     activeApps = new AList <ApplicationId>();
         IList <ApplicationReport> apps       = client.GetApplications(ActiveStates);
         foreach (ApplicationReport app in apps)
         {
             activeApps.AddItem(app.GetApplicationId());
         }
         return(activeApps);
     }
     catch (IOException e)
     {
         throw new YarnException(e);
     }
 }
        /// <exception cref="System.Exception"/>
        public virtual void TestDSShell(bool haveDomain)
        {
            string[] args = new string[] { "--jar", AppmasterJar, "--num_containers", "2", "--shell_command"
                                           , Shell.Windows ? "dir" : "ls", "--master_memory", "512", "--master_vcores", "2"
                                           , "--container_memory", "128", "--container_vcores", "1" };
            if (haveDomain)
            {
                string[] domainArgs = new string[] { "--domain", "TEST_DOMAIN", "--view_acls", "reader_user reader_group"
                                                     , "--modify_acls", "writer_user writer_group", "--create" };
                IList <string> argsList = new AList <string>(Arrays.AsList(args));
                Sharpen.Collections.AddAll(argsList, Arrays.AsList(domainArgs));
                args = Sharpen.Collections.ToArray(argsList, new string[argsList.Count]);
            }
            Log.Info("Initializing DS Client");
            Client client      = new Client(new Configuration(yarnCluster.GetConfig()));
            bool   initSuccess = client.Init(args);

            NUnit.Framework.Assert.IsTrue(initSuccess);
            Log.Info("Running DS Client");
            AtomicBoolean result = new AtomicBoolean(false);

            Sharpen.Thread t = new _Thread_194(result, client);
            t.Start();
            YarnClient yarnClient = YarnClient.CreateYarnClient();

            yarnClient.Init(new Configuration(yarnCluster.GetConfig()));
            yarnClient.Start();
            string hostName     = NetUtils.GetHostname();
            bool   verified     = false;
            string errorMessage = string.Empty;

            while (!verified)
            {
                IList <ApplicationReport> apps = yarnClient.GetApplications();
                if (apps.Count == 0)
                {
                    Sharpen.Thread.Sleep(10);
                    continue;
                }
                ApplicationReport appReport = apps[0];
                if (appReport.GetHost().Equals("N/A"))
                {
                    Sharpen.Thread.Sleep(10);
                    continue;
                }
                errorMessage = "Expected host name to start with '" + hostName + "', was '" + appReport
                               .GetHost() + "'. Expected rpc port to be '-1', was '" + appReport.GetRpcPort() +
                               "'.";
                if (CheckHostname(appReport.GetHost()) && appReport.GetRpcPort() == -1)
                {
                    verified = true;
                }
                if (appReport.GetYarnApplicationState() == YarnApplicationState.Finished)
                {
                    break;
                }
            }
            NUnit.Framework.Assert.IsTrue(errorMessage, verified);
            t.Join();
            Log.Info("Client run completed. Result=" + result);
            NUnit.Framework.Assert.IsTrue(result.Get());
            TimelineDomain domain = null;

            if (haveDomain)
            {
                domain = yarnCluster.GetApplicationHistoryServer().GetTimelineStore().GetDomain("TEST_DOMAIN"
                                                                                                );
                NUnit.Framework.Assert.IsNotNull(domain);
                NUnit.Framework.Assert.AreEqual("reader_user reader_group", domain.GetReaders());
                NUnit.Framework.Assert.AreEqual("writer_user writer_group", domain.GetWriters());
            }
            TimelineEntities entitiesAttempts = yarnCluster.GetApplicationHistoryServer().GetTimelineStore
                                                    ().GetEntities(ApplicationMaster.DSEntity.DsAppAttempt.ToString(), null, null, null
                                                                   , null, null, null, null, null, null);

            NUnit.Framework.Assert.IsNotNull(entitiesAttempts);
            NUnit.Framework.Assert.AreEqual(1, entitiesAttempts.GetEntities().Count);
            NUnit.Framework.Assert.AreEqual(2, entitiesAttempts.GetEntities()[0].GetEvents().
                                            Count);
            NUnit.Framework.Assert.AreEqual(entitiesAttempts.GetEntities()[0].GetEntityType()
                                            .ToString(), ApplicationMaster.DSEntity.DsAppAttempt.ToString());
            if (haveDomain)
            {
                NUnit.Framework.Assert.AreEqual(domain.GetId(), entitiesAttempts.GetEntities()[0]
                                                .GetDomainId());
            }
            else
            {
                NUnit.Framework.Assert.AreEqual("DEFAULT", entitiesAttempts.GetEntities()[0].GetDomainId
                                                    ());
            }
            TimelineEntities entities = yarnCluster.GetApplicationHistoryServer().GetTimelineStore
                                            ().GetEntities(ApplicationMaster.DSEntity.DsContainer.ToString(), null, null, null
                                                           , null, null, null, null, null, null);

            NUnit.Framework.Assert.IsNotNull(entities);
            NUnit.Framework.Assert.AreEqual(2, entities.GetEntities().Count);
            NUnit.Framework.Assert.AreEqual(entities.GetEntities()[0].GetEntityType().ToString
                                                (), ApplicationMaster.DSEntity.DsContainer.ToString());
            if (haveDomain)
            {
                NUnit.Framework.Assert.AreEqual(domain.GetId(), entities.GetEntities()[0].GetDomainId
                                                    ());
            }
            else
            {
                NUnit.Framework.Assert.AreEqual("DEFAULT", entities.GetEntities()[0].GetDomainId(
                                                    ));
            }
        }