Hadoop 获取 DFS Remaining hadoop文件系统可以使用的剩余容量大小

Hadoop 获取 DFS Remaining hadoop文件系统可以使用的剩余容量大小。(能够经过http://<HOST>:50070直观的查看)
Configured Capacity:    18.22 GB
DFS Used:    44 KB
Non DFS Used:    15.92 GB
DFS Remaining:    2.3 GB
DFS Used%:    0%

Configured Capacity : hadoop设置的总空间大小
DFS Used : hadoop文件系统所使用的空间
Non DFS Used : 非hadoop文件系统所使用的空间大小,好比说自己的linux系统使用的,或者存放的其它文件
DFS Remaining :hadoop文件系统可以使用的剩余容量大小



这里,DFS Remaining的值我经过查看api发现没有可以获取的相关接口。 
java

(以前查询的是早期的api接口。。。这两天查看2.6.0 版本的api接口时候已经找到,在文章的最后说明 linux

org.apache.hadoop.fs.DF
DF df = new DF(path,configuration);
DF 对象内容:
df -k null
null    104864252    48683192    56181060    46%    null
其中只包含Configured Capacity、DFS Used、(Configured Capacity - DFS Used)、DFS Used。没法获取到DFS Remaining
这里使用 http://<HOST>:<HTTP_PORT>/jmx?qry=Hadoop:service=NameNode,name=FSNamesystemState

eg:http://192.168.1.118:50070/jmx?qry=Hadoop:service=NameNode,name=FSNamesystemState apache


FsStatus对象提供了获取 hadoop 总空间、已使用空间、剩余空间 的方法。使用方式以下: api


FileSystem fileSystem = FileSystem.get(new URI(hdfsURL), configuration);
FsStatus fsStatus = fileSystem.getStatus();
long capacity = fsStatus.getCapacity(); //Configured Capacity
long remaining = fsStatus.getRemaining(); //DFS Remaining
long used = fsStatus.getUsed(); // DFS Used
相关文章
相关标签/搜索