Exemplo n.º 1
0
        protected internal override IList <Queue> GetChildReservationQueues(Queue queue)
        {
            FSQueue         planQueue   = (FSQueue)queue;
            IList <FSQueue> childQueues = planQueue.GetChildQueues();

            return(childQueues);
        }
Exemplo n.º 2
0
        public FairSchedulerQueueInfo(FSQueue queue, FairScheduler scheduler)
        {
            AllocationConfiguration allocConf = scheduler.GetAllocationConfiguration();

            queueName           = queue.GetName();
            schedulingPolicy    = queue.GetPolicy().GetName();
            clusterResources    = new ResourceInfo(scheduler.GetClusterResource());
            usedResources       = new ResourceInfo(queue.GetResourceUsage());
            fractionMemUsed     = (float)usedResources.GetMemory() / clusterResources.GetMemory();
            steadyFairResources = new ResourceInfo(queue.GetSteadyFairShare());
            fairResources       = new ResourceInfo(queue.GetFairShare());
            minResources        = new ResourceInfo(queue.GetMinShare());
            maxResources        = new ResourceInfo(queue.GetMaxShare());
            maxResources        = new ResourceInfo(Resources.ComponentwiseMin(queue.GetMaxShare(), scheduler
                                                                              .GetClusterResource()));
            fractionMemSteadyFairShare = (float)steadyFairResources.GetMemory() / clusterResources
                                         .GetMemory();
            fractionMemFairShare = (float)fairResources.GetMemory() / clusterResources.GetMemory
                                       ();
            fractionMemMinShare = (float)minResources.GetMemory() / clusterResources.GetMemory
                                      ();
            fractionMemMaxShare = (float)maxResources.GetMemory() / clusterResources.GetMemory
                                      ();
            maxApps     = allocConf.GetQueueMaxApps(queueName);
            childQueues = new AList <Org.Apache.Hadoop.Yarn.Server.Resourcemanager.Webapp.Dao.FairSchedulerQueueInfo
                                     >();
            if (allocConf.IsReservable(queueName) && !allocConf.GetShowReservationAsQueues(queueName
                                                                                           ))
            {
                return;
            }
            ICollection <FSQueue> children = queue.GetChildQueues();

            foreach (FSQueue child in children)
            {
                if (child is FSLeafQueue)
                {
                    childQueues.AddItem(new FairSchedulerLeafQueueInfo((FSLeafQueue)child, scheduler)
                                        );
                }
                else
                {
                    childQueues.AddItem(new Org.Apache.Hadoop.Yarn.Server.Resourcemanager.Webapp.Dao.FairSchedulerQueueInfo
                                            (child, scheduler));
                }
            }
        }