hadoop NodeInfo 源码

  • 2022-10-20
  • 浏览 (207)

haddop NodeInfo 代码

文件路径:/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/dao/NodeInfo.java

/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.hadoop.yarn.server.nodemanager.webapp.dao;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

import org.apache.hadoop.util.StringUtils;
import org.apache.hadoop.util.VersionInfo;
import org.apache.hadoop.yarn.server.nodemanager.Context;
import org.apache.hadoop.yarn.server.nodemanager.NodeManager;
import org.apache.hadoop.yarn.server.nodemanager.ResourceView;
import org.apache.hadoop.yarn.util.YarnVersionInfo;
import org.apache.hadoop.yarn.util.resource.ResourceUtils;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class NodeInfo {

  private static final long BYTES_IN_MB = 1024 * 1024;

  protected String healthReport;
  protected long totalVmemAllocatedContainersMB;
  protected long totalPmemAllocatedContainersMB;
  protected long totalVCoresAllocatedContainers;
  protected boolean vmemCheckEnabled;
  protected boolean pmemCheckEnabled;
  protected long lastNodeUpdateTime;
  protected String resourceTypes;
  protected boolean nodeHealthy;
  protected String nodeManagerVersion;
  protected String nodeManagerBuildVersion;
  protected String nodeManagerVersionBuiltOn;
  protected String hadoopVersion;
  protected String hadoopBuildVersion;
  protected String hadoopVersionBuiltOn;
  protected String id;
  protected String nodeHostName;
  protected long nmStartupTime;

  public NodeInfo() {
  } // JAXB needs this

  public NodeInfo(final Context context, final ResourceView resourceView) {

    this.id = context.getNodeId().toString();
    this.nodeHostName = context.getNodeId().getHost();
    this.totalVmemAllocatedContainersMB = resourceView
        .getVmemAllocatedForContainers() / BYTES_IN_MB;
    this.vmemCheckEnabled = resourceView.isVmemCheckEnabled();
    this.totalPmemAllocatedContainersMB = resourceView
        .getPmemAllocatedForContainers() / BYTES_IN_MB;
    this.pmemCheckEnabled = resourceView.isPmemCheckEnabled();
    this.totalVCoresAllocatedContainers = resourceView
        .getVCoresAllocatedForContainers();
    this.resourceTypes = StringUtils.join(", ",
        ResourceUtils.getResourcesTypeInfo());
    this.nodeHealthy = context.getNodeHealthStatus().getIsNodeHealthy();
    this.lastNodeUpdateTime = context.getNodeHealthStatus()
        .getLastHealthReportTime();

    this.healthReport = context.getNodeHealthStatus().getHealthReport();

    this.nodeManagerVersion = YarnVersionInfo.getVersion();
    this.nodeManagerBuildVersion = YarnVersionInfo.getBuildVersion();
    this.nodeManagerVersionBuiltOn = YarnVersionInfo.getDate();
    this.hadoopVersion = VersionInfo.getVersion();
    this.hadoopBuildVersion = VersionInfo.getBuildVersion();
    this.hadoopVersionBuiltOn = VersionInfo.getDate();
    this.nmStartupTime = NodeManager.getNMStartupTime();
  }

  public String getNodeId() {
    return this.id;
  }

  public String getNodeHostName() {
    return this.nodeHostName;
  }

  public String getNMVersion() {
    return this.nodeManagerVersion;
  }

  public String getNMBuildVersion() {
    return this.nodeManagerBuildVersion;
  }

  public String getNMVersionBuiltOn() {
    return this.nodeManagerVersionBuiltOn;
  }

  public String getHadoopVersion() {
    return this.hadoopVersion;
  }

  public String getHadoopBuildVersion() {
    return this.hadoopBuildVersion;
  }

  public String getHadoopVersionBuiltOn() {
    return this.hadoopVersionBuiltOn;
  }

  public boolean getHealthStatus() {
    return this.nodeHealthy;
  }

  public long getLastNodeUpdateTime() {
    return this.lastNodeUpdateTime;
  }

  public String getHealthReport() {
    return this.healthReport;
  }

  public long getTotalVmemAllocated() {
    return this.totalVmemAllocatedContainersMB;
  }

  public long getTotalVCoresAllocated() {
    return this.totalVCoresAllocatedContainers;
  }

  public boolean isVmemCheckEnabled() {
    return this.vmemCheckEnabled;
  }

  public long getTotalPmemAllocated() {
    return this.totalPmemAllocatedContainersMB;
  }

  public boolean isPmemCheckEnabled() {
    return this.pmemCheckEnabled;
  }

  public String getResourceTypes() {
    return this.resourceTypes;
  }

  public long getNMStartupTime() {
    return nmStartupTime;
  }
}

相关信息

hadoop 源码目录

相关文章

hadoop AppInfo 源码

hadoop AppsInfo 源码

hadoop AuxiliaryServiceInfo 源码

hadoop AuxiliaryServicesInfo 源码

hadoop ContainerInfo 源码

hadoop ContainersInfo 源码

hadoop NMContainerLogsInfo 源码

hadoop NMDeviceResourceInfo 源码

hadoop NMResourceInfo 源码

0  赞