Exemplo n.º 1
0
        public NodeInfo(RMNode ni, ResourceScheduler sched)
        {
            // JAXB needs this
            NodeId id = ni.GetNodeID();
            SchedulerNodeReport report = sched.GetNodeReport(id);

            this.numContainers = 0;
            this.usedMemoryMB  = 0;
            this.availMemoryMB = 0;
            if (report != null)
            {
                this.numContainers         = report.GetNumContainers();
                this.usedMemoryMB          = report.GetUsedResource().GetMemory();
                this.availMemoryMB         = report.GetAvailableResource().GetMemory();
                this.usedVirtualCores      = report.GetUsedResource().GetVirtualCores();
                this.availableVirtualCores = report.GetAvailableResource().GetVirtualCores();
            }
            this.id               = id.ToString();
            this.rack             = ni.GetRackName();
            this.nodeHostName     = ni.GetHostName();
            this.state            = ni.GetState();
            this.nodeHTTPAddress  = ni.GetHttpAddress();
            this.lastHealthUpdate = ni.GetLastHealthReportTime();
            this.healthReport     = ni.GetHealthReport().ToString();
            this.version          = ni.GetNodeManagerVersion();
            // add labels
            ICollection <string> labelSet = ni.GetNodeLabels();

            if (labelSet != null)
            {
                Sharpen.Collections.AddAll(nodeLabels, labelSet);
                nodeLabels.Sort();
            }
        }
Exemplo n.º 2
0
        private RMContainer RecoverAndCreateContainer(NMContainerStatus status, RMNode node
                                                      )
        {
            Container container = Container.NewInstance(status.GetContainerId(), node.GetNodeID
                                                            (), node.GetHttpAddress(), status.GetAllocatedResource(), status.GetPriority(),
                                                        null);
            ApplicationAttemptId attemptId   = container.GetId().GetApplicationAttemptId();
            RMContainer          rmContainer = new RMContainerImpl(container, attemptId, node.GetNodeID
                                                                       (), applications[attemptId.GetApplicationId()].GetUser(), rmContext, status.GetCreationTime
                                                                       ());

            return(rmContainer);
        }