如何获取hadoop-hdfs命令的结果来检查集群状态



对于下面的命令,它会生成复制状态、集群运行状况、块数、数据节点等信息

./hadoop-2.5.1/bin/hdfs fsck /

同样,下面的命令给出Hadoop中已占用空间的输出

./hadoop-2.5.1/bin/hdfs dfs -df -h
Filesystem                        Size    Used  Available  Use%
hdfs://HadoopCluster             100.4 T  84.6 T     15.8 T   84%

我可以获取dfshhealth.html或登录系统的信息并执行该命令。

有没有办法通过Java API获取信息?

在后台,所有这些都通过API公开,可以通过Java访问。我想你要找的是HdfsAdmin(https://hadoop.apache.org/docs/r3.2.0/api/org/apache/hadoop/hdfs/client/HdfsAdmin.html)。

所有CLI命令都映射到Java类

hdfs dfs运行org.apache.hadoop.fs.FsShell

https://github.com/apache/hadoop/blob/release-2.5.1/hadoop-hdfs-project/hadoop-hdfs/src/main/bin/hdfs#L146

作为对您其他评论的回应,我认为您正在寻找DFSAdmin,它有一个报告方法

https://github.com/apache/hadoop/blob/release-2.5.1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java

相关内容

  • 没有找到相关文章

最新更新