hadoop NameNodeMXBean 源码

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

haddop NameNodeMXBean 代码

文件路径:/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeMXBean.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.hdfs.server.namenode;

import java.util.Map;

import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.hdfs.protocol.RollingUpgradeInfo;

/**
 * This is the JMX management interface for namenode information.
 * End users shouldn't be implementing these interfaces, and instead
 * access this information through the JMX APIs.
 */
@InterfaceAudience.Private
@InterfaceStability.Stable
public interface NameNodeMXBean {

  /**
   * Gets the version of Hadoop.
   * 
   * @return the version.
   */
  String getVersion();

  /**
   * Get the version of software running on the Namenode.
   *
   * @return a string representing the version.
   */
  String getSoftwareVersion();

  /**
   * Gets the used space by data nodes.
   * 
   * @return the used space by data nodes.
   */
  long getUsed();
  
  /**
   * Gets total non-used raw bytes.
   * 
   * @return total non-used raw bytes.
   */
  long getFree();
  
  /**
   * Gets total raw bytes including non-dfs used space.
   * 
   * @return the total raw bytes including non-dfs used space.
   */
  long getTotal();

  /**
   * Gets capacity of the provided storage mounted, in bytes.
   *
   * @return the total raw bytes present in the provided storage.
   */
  long getProvidedCapacity();

  /**
   * Gets the safemode status.
   * 
   * @return the safemode status.
   */
  String getSafemode();
  
  /**
   * Checks if upgrade is finalized.
   * 
   * @return true, if upgrade is finalized.
   */
  boolean isUpgradeFinalized();

  /**
   * Gets the RollingUpgrade information.
   *
   * @return Rolling upgrade information if an upgrade is in progress. Else
   * (e.g. if there is no upgrade or the upgrade is finalized), returns null.
   */
  RollingUpgradeInfo.Bean getRollingUpgradeStatus();

  /**
   * Gets total used space by data nodes for non DFS purposes such as storing
   * temporary files on the local file system.
   * 
   * @return the non dfs space of the cluster.
   */
  long getNonDfsUsedSpace();
  
  /**
   * Gets the total used space by data nodes as percentage of total capacity.
   * 
   * @return the percentage of used space on the cluster.
   */
  float getPercentUsed();
  
  /**
   * Gets the total remaining space by data nodes as percentage of total 
   * capacity.
   * 
   * @return the percentage of the remaining space on the cluster.
   */
  float getPercentRemaining();

  /**
   * Gets the amount of cache used by the datanode (in bytes).
   *
   * @return the amount of cache used by the datanode (in bytes).
   */
  long getCacheUsed();

  /**
   * Gets the total cache capacity of the datanode (in bytes).
   *
   * @return the total cache capacity of the datanode (in bytes).
   */
  long getCacheCapacity();
  
  /**
   * Get the total space used by the block pools of this namenode.
   *
   * @return the total space used by the block pools of this namenode.
   */
  long getBlockPoolUsedSpace();
  
  /**
   * Get the total space used by the block pool as percentage of total capacity.
   *
   * @return the total space used by the block pool as percentage of total
   * capacity.
   */
  float getPercentBlockPoolUsed();
    
  /**
   * Gets the total numbers of blocks on the cluster.
   * 
   * @return the total number of blocks of the cluster.
   */
  long getTotalBlocks();
  
  /**
   * Gets the total number of missing blocks on the cluster.
   * 
   * @return the total number of missing blocks on the cluster.
   */
  long getNumberOfMissingBlocks();
  
  /**
   * Gets the total number of missing blocks on the cluster with
   * replication factor 1.
   *
   * @return the total number of missing blocks on the cluster with
   * replication factor 1.
   */
  long getNumberOfMissingBlocksWithReplicationFactorOne();

  /**
   * Gets the total number of replicated low redundancy blocks on the cluster
   * with the highest risk of loss.
   *
   * @return the total number of low redundancy blocks on the cluster
   * with the highest risk of loss.
   */
  long getHighestPriorityLowRedundancyReplicatedBlocks();

  /**
   * Gets the total number of erasure coded low redundancy blocks on the cluster
   * with the highest risk of loss.
   *
   * @return the total number of low redundancy blocks on the cluster
   * with the highest risk of loss.
   */
  long getHighestPriorityLowRedundancyECBlocks();

  /**
   * Gets the total number of snapshottable dirs in the system.
   *
   * @return the total number of snapshottable dirs in the system.
   */
  long getNumberOfSnapshottableDirs();

  /**
   * Gets the number of threads.
   * 
   * @return the number of threads.
   */
  int getThreads();

  /**
   * Gets the live node information of the cluster.
   * 
   * @return the live node information.
   */
  String getLiveNodes();
  
  /**
   * Gets the dead node information of the cluster.
   * 
   * @return the dead node information.
   */
  String getDeadNodes();
  
  /**
   * Gets the decommissioning node information of the cluster.
   * 
   * @return the decommissioning node information.
   */
  String getDecomNodes();

  /**
   * Gets the information on nodes entering maintenance.
   *
   * @return the information on nodes entering maintenance.
   */
  String getEnteringMaintenanceNodes();

  /**
   * Gets the cluster id.
   * 
   * @return the cluster id.
   */
  String getClusterId();
  
  /**
   * Gets the block pool id.
   * 
   * @return the block pool id.
   */
  String getBlockPoolId();

  /**
   * Get status information about the directories storing image and edits logs
   * of the NN.
   * 
   * @return the name dir status information, as a JSON string.
   */
  String getNameDirStatuses();

  /**
   * Get Max, Median, Min and Standard Deviation of DataNodes usage.
   *
   * @return the DataNode usage information, as a JSON string.
   */
  String getNodeUsage();

  /**
   * Get status information about the journals of the NN.
   *
   * @return the name journal status information, as a JSON string.
   */
  String getNameJournalStatus();
  
  /**
   * Get information about the transaction ID, including the last applied 
   * transaction ID and the most recent checkpoint's transaction ID.
   *
   * @return information about the transaction ID.
   */
  String getJournalTransactionInfo();

  /**
   * Gets the NN start time in milliseconds.
   *
   * @return the NN start time in msec.
   */
  long getNNStartedTimeInMillis();

  /**
   * Get the compilation information which contains date, user and branch.
   *
   * @return the compilation information, as a JSON string.
   */
  String getCompileInfo();

  /**
   * Get the list of corrupt files.
   *
   * @return the list of corrupt files, as a JSON string.
   */
  String getCorruptFiles();

  /**
   * Get the length of the list of corrupt files.
   *
   * @return the length of the list of corrupt files.
   */
  int getCorruptFilesCount();

  /**
   * Get the number of distinct versions of live datanodes.
   * 
   * @return the number of distinct versions of live datanodes.
   */
  int getDistinctVersionCount();

  /**
   * Get the number of live datanodes for each distinct versions.
   * 
   * @return the number of live datanodes for each distinct versions.
   */
  Map<String, Integer> getDistinctVersions();
  
  /**
   * Get namenode directory size.
   *
   * @return namenode directory size.
   */
  String getNameDirSize();

  /**
   * Verifies whether the cluster setup can support all enabled EC policies.
   *
   * @return the result of the verification.
   */
  String getVerifyECWithTopologyResult();

}

相关信息

hadoop 源码目录

相关文章

hadoop AclEntryStatusFormat 源码

hadoop AclFeature 源码

hadoop AclStorage 源码

hadoop AclTransformation 源码

hadoop AuditLogger 源码

hadoop BackupImage 源码

hadoop BackupJournalManager 源码

hadoop BackupNode 源码

hadoop BackupState 源码

hadoop CacheManager 源码

0  赞