知道hadoop中数据节点的磁盘space吗?

Know the disk space of data nodes in hadoop?

有什么方法或命令可以让我知道每个数据节点的磁盘 space 或整个集群磁盘 space?

我试过命令

dfs -du -h /

但似乎我没有权限对许多目录执行它,因此无法获取实际磁盘 space。

如果您使用配置为简单安全的Hadoop集群,您可以执行以下命令来获取数据节点的使用情况。

export HADOOP_USER_NAME=hdfs ; 

* 上面的命令可用于在简单安全中获取管理员权限,如果您使用任何其他用户作为 hdfs 管理员,请将 hdfs 替换为相应的 hdfs 管理员用户。

hadoop dfsadmin -report 

另一种选择是登录到相应的数据节点并执行以下 unix 命令以获取该服务器的磁盘利用率。

df -h

您在名称节点 UI 的数据节点选项卡中查看有关所有数据节点及其磁盘使用情况的信息。 总集群磁盘space可以在主页的摘要部分看到。

http://namenode-ip:50070

来自 UI:

http://namenode:50070/dfshealth.html#tab-datanode

---> 这将为您提供有关数据节点的所有详细信息。

来自命令行:

获取每个数据节点的磁盘space:

sudo -u hdfs hdfs dfsadmin -report

---> 这将为您提供整个 HDFS 和各个数据节点的详细信息或

sudo -u hdfs hdfs dfs -du -h /

---> 这将为您提供根 / 目录

下每个文件夹的总磁盘使用情况

Hadoop 3.2.0:

hduser@hadoop-node1:~$ hdfs dfs -df
Filesystem                          Size          Used     Available  Use%
hdfs://hadoop-node1:54310  3000457228288  461352007680  821808787456   15%
hduser@hadoop-node1:~$

对于人类可读的数字,使用:

hduser@hadoop-node1:~$ hdfs dfs -df -h
Filesystem                  Size     Used  Available  Use%
hdfs://hadoop-node1:54310  2.7 T  429.7 G    765.4 G   15%
hduser@hadoop-node1:~$