001/** 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.apache.hadoop.hdfs.server.namenode; 019 020import org.apache.hadoop.classification.InterfaceAudience; 021import org.apache.hadoop.classification.InterfaceStability; 022 023/** 024 * This is the JMX management interface for namenode information 025 */ 026@InterfaceAudience.Public 027@InterfaceStability.Stable 028public interface NameNodeMXBean { 029 030 /** 031 * Gets the version of Hadoop. 032 * 033 * @return the version 034 */ 035 public String getVersion(); 036 037 /** 038 * Gets the used space by data nodes. 039 * 040 * @return the used space by data nodes 041 */ 042 public long getUsed(); 043 044 /** 045 * Gets total non-used raw bytes. 046 * 047 * @return total non-used raw bytes 048 */ 049 public long getFree(); 050 051 /** 052 * Gets total raw bytes including non-dfs used space. 053 * 054 * @return the total raw bytes including non-dfs used space 055 */ 056 public long getTotal(); 057 058 059 /** 060 * Gets the safemode status 061 * 062 * @return the safemode status 063 * 064 */ 065 public String getSafemode(); 066 067 /** 068 * Checks if upgrade is finalized. 069 * 070 * @return true, if upgrade is finalized 071 */ 072 public boolean isUpgradeFinalized(); 073 074 /** 075 * Gets total used space by data nodes for non DFS purposes such as storing 076 * temporary files on the local file system 077 * 078 * @return the non dfs space of the cluster 079 */ 080 public long getNonDfsUsedSpace(); 081 082 /** 083 * Gets the total used space by data nodes as percentage of total capacity 084 * 085 * @return the percentage of used space on the cluster. 086 */ 087 public float getPercentUsed(); 088 089 /** 090 * Gets the total remaining space by data nodes as percentage of total 091 * capacity 092 * 093 * @return the percentage of the remaining space on the cluster 094 */ 095 public float getPercentRemaining(); 096 097 /** 098 * Get the total space used by the block pools of this namenode 099 */ 100 public long getBlockPoolUsedSpace(); 101 102 /** 103 * Get the total space used by the block pool as percentage of total capacity 104 */ 105 public float getPercentBlockPoolUsed(); 106 107 /** 108 * Gets the total numbers of blocks on the cluster. 109 * 110 * @return the total number of blocks of the cluster 111 */ 112 public long getTotalBlocks(); 113 114 /** 115 * Gets the total number of files on the cluster 116 * 117 * @return the total number of files on the cluster 118 */ 119 public long getTotalFiles(); 120 121 /** 122 * Gets the total number of missing blocks on the cluster 123 * 124 * @return the total number of files and blocks on the cluster 125 */ 126 public long getNumberOfMissingBlocks(); 127 128 /** 129 * Gets the number of threads. 130 * 131 * @return the number of threads 132 */ 133 public int getThreads(); 134 135 /** 136 * Gets the live node information of the cluster. 137 * 138 * @return the live node information 139 */ 140 public String getLiveNodes(); 141 142 /** 143 * Gets the dead node information of the cluster. 144 * 145 * @return the dead node information 146 */ 147 public String getDeadNodes(); 148 149 /** 150 * Gets the decommissioning node information of the cluster. 151 * 152 * @return the decommissioning node information 153 */ 154 public String getDecomNodes(); 155 156 /** 157 * Gets the cluster id. 158 * 159 * @return the cluster id 160 */ 161 public String getClusterId(); 162 163 /** 164 * Gets the block pool id. 165 * 166 * @return the block pool id 167 */ 168 public String getBlockPoolId(); 169 170 /** 171 * Get status information about the directories storing image and edits logs 172 * of the NN. 173 * 174 * @return the name dir status information, as a JSON string. 175 */ 176 public String getNameDirStatuses(); 177}