CM上HDFS容量显示与实际命令不一致问题分析

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.问题描述


通过Cloudera Manager看到HDFS的容量使用显示为103.9GB

通过HDFS的50070界面查看到HDFS的容量使用情况为41.63GB

使用hadoop fs -du –h /命令查看HDFS的使用情况,HDFS的使用为41.63GB

疑问:为什么Cloudera Manager上显示HDFS空间的使用量会比HDFS真实使用量大很多?

2.问题分析


在Cloudera Manager上鼠标停留在HDFS容量配置上会显示容量使用说明,如下图所示:

CM上显示HDFS配置容量由两部分组成DFS使用的空间和非DFS使用的空间两部分组成。

接下来我们再看看HDFS的50070界面的统计信息可以看到有DFS Used和Non DFS Used两个信息。

将DFS Used和Non DFS Used两个数据相加刚好与Cloudera Manager上显示的配置容量103.9GB一致。

问题又来了“Non DFS Used”这一部分空间是什么?“Non DFS Used”是如何计算的?

3.Non DFS Used说明


这里Fayson拿集群的一个节点cdh03来说明,如下是cdh03节点磁盘挂载信息,/data/disk1盘是HDFS配置的数据目录。

1.在HDFS的DataNode配置中“dfs.datanode.du.reserved”用来为HDFS的数据盘预留一定的空间,默认为10GB

那这样HDFS对该盘的使用空间为100GB - 9.99GB=90GB

2.使用hadoop dfsadmin -report命令查看HDFS空间各个节点的使用情况

如上截图为cdh03.fayson.com节点DFS使用报告,包含了DFS的总容量,已使用容量,可用容量以及“Non DFS Used”。

3.Non DFS Used的计算方式大概为

磁盘总容量 - 节点预留容量(dfs.datanode.du.reserved)- DFS Used – DFS Remaining即为“Non DFS Used”

100GB - 10GB - 13.88GB - 57.55GB ≈ 18.03GB

所以根据以上得出结论,当我们为数据盘预留了10GB给系统或其他非HDFS文件的存储空间,那么DFS的使用空间就为90GB,但是非HDFS文件占用空间超过10GB则会占用DFS配置的90GB空间,所以“Non DFS Used”就是占用DFS容量的那部分空间。

4.总结


在Cloudera Manager中显示的HDFS容量配置分为了两个部分DFS使用的空间和非DFS使用的空间。

其中的“Non DFS Used”空间即为DN节点每块盘中在排除预留空间后非HDFS文件占用DFS容量的那部分空间(如kudu数据、Kafka数据、用户自己的数据等)。

参考:https://stackoverflow.com/questions/18477983/what-exactly-non-dfs-used-means

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

Spark调优系列之序列化方式调优

由于大多数的spark计算是基于内存的的天性,spark应用的瓶颈一般受制于集群的CPU,网络带宽,内存。大部分情况下,如果内存适合当前数据量的计算,那么瓶颈往...

36290
来自专栏Hadoop实操

如何通过CM禁用Federation

本文主要讲述如何通过CM禁用Federation。我前面写过两篇关于Federation的文章,可参看《HDFS Federation(联邦)简介》和《如何通过...

15640
来自专栏搜云库

大数据平台搭建 Hadoop-2.7.4 + Spark-2.2.0 快速搭建

Apache Spark 简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (...

66180

将R与Cloudera Impala集成,以实现Hadoop上的实时查询

Cloudera Impala支持Hadoop数据集上的低延迟交互式查询,这些数据集可以存储在Hadoop分布式文件系统(HDFS)或Hadoop的分布式NoS...

75970
来自专栏about云

spark streaming知识总结[优化]

问题导读 1.DStreams的含义是什么? 2.DStreams提供哪两种类型的操作? 3.Transformations操作分为哪两种类型? 4.本文说...

55240
来自专栏Spark学习技巧

必会:关于SparkStreaming checkpoint那些事儿

spark Streaming的checkpoint是一个利器,帮助在driver端非代码逻辑错误导致的driver应用失败重启,比如网络,jvm等,当然也仅限...

17320
来自专栏我是攻城师

CDH-Hadoop2.6+ Apache Pig0.15安装记录

37850
来自专栏数据之美

windows 安装 spark 及 pycharm 调试 TopN 实例

首先声明本文搭建的环境为:windows8.1 + spark1.6.0 + python2.7 + jdk8,spark on windows 对 windo...

59160
来自专栏Hadoop实操

如何使用Oozie API接口向Kerberos环境的CDH集群提交Spark作业

在CDH集群外的节点向集群提交Spark作业的方式有多种,前面Fayson介绍了Livy相关的文章主要描述如何在集群外节点通过RESTful API接口向CDH...

49970
来自专栏Albert陈凯

Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系

Spark中关于并发度涉及的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。 ...

46560

扫码关注云+社区

领取腾讯云代金券