contentsummary.getspaceconsumed不考虑复制

nfs0ujit  于 2021-05-27  发布在  Hadoop
关注(0)|答案(0)|浏览(372)

我正在尝试使用 ContentSummary.getSpaceConsumed 本答案中建议的方法。
考虑到复制因素,我无法正确获得空间消耗。复制因子是2,我预期的大小是上述方法中实际文件大小的两倍。
大小 size-test 文件为3145728字节。如图所示 dfs -ls 命令以及复制因子。

ubuntu@ubuntu:~/ht$ sudo -u hdfs hdfs dfs -ls /var/lib/ubuntu
Found 2 items
-rw-r--r--   2 ubuntu ubuntu    3145728 2020-09-08 09:55 /var/lib/ubuntu/size-test
drwxrwxr-x   - ubuntu ubuntu          0 2020-09-07 06:37 /var/lib/ubuntu/test

但当我运行以下代码时,

String path = "/etc/hadoop/conf/";
conf.addResource(new Path(path + "core-site.xml"));
conf.addResource(new Path(path + "hdfs-site.xml"));
long size = FileContext.getFileContext(conf).util().getContentSummary(fileStatus).getSpaceConsumed();
System.out.println("Replication : " + fileStatus.getReplication());
System.out.println("File size : " + size);

输出为

Replication : 0
File size : 3145728

文件大小和复制因子似乎都不正确。 /etc/hadoop/conf/hdfs-site.xml 包含以下配置:

<property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>

我在这里遗漏了什么,以至于复制因子被dfsapi忽略了吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题