在大多数hadoop发行版的最新版本中,hdfs使用情况报告似乎只报告空间,而不考虑复制因素,对吗?
当查看namenode web ui和/或运行“hadoop dfsadmin-report”命令时,可以看到类似以下内容的报告:
Configured Capacity: 247699161084 (230.69 GB)
Present Capacity: 233972113408 (217.9 GB)
DFS Remaining: 162082414592 (150.95 GB)
DFS Used: 71889698816 (66.95 GB)
DFS Used%: 30.73%
Under replicated blocks: 40
Blocks with corrupt replicas: 6
Missing blocks: 0
基于此群集的计算机大小,此报告似乎没有考虑三重复制。。。i、 e.如果我在hdfs上放置一个文件,我应该自己解释三重复制。
例如,如果我在hdfs上放置了一个50gb的文件,我的hdfs是否会危险地接近满(因为该文件将被复制3次,用完当前剩余的150gb)?
2条答案
按热度按时间svujldwt1#
让我们明确定义这些术语的含义。
配置容量:它是hdfs可用于存储的总容量。因此,如果您有4个节点,每个节点有50gb的容量,那么配置的容量将是200gb。在配置容量的情况下,复制因子是不相关的。
dfs used:这是hdfs使用的存储空间量。除以复制因子所使用的dfs,得到未复制时存储的文件的实际大小。因此,如果使用的dfs是60 gb,而复制因子是3,则文件的实际大小是60/3=20 gb。
dfs剩余:这是hdfs仍然可用的存储空间量。如果您还有150 gb的剩余存储空间,这意味着您最多可以存储150/3=50 gb的文件,而不会超过配置的容量(假设复制系数=3)。
当前容量:为元数据分配空间后,可用于存储用户文件的存储空间量。区别在于:
(Configured capacity - Present capacity)
用于存储文件系统元数据。以及inode信息。希望这能解决问题。
xzlaal3s2#
dfsadmin报告不考虑复制。如果希望复制前使用的字节数,请使用: