Java CytStudioSUMED不考虑复制
我正在尝试使用本文建议的Java CytStudioSUMED不考虑复制,java,hadoop,hdfs,Java,Hadoop,Hdfs,我正在尝试使用本文建议的ContentSummary.getspaceconsumered方法获取HDFS目录占用的磁盘空间 考虑到复制因素,我无法正确获得空间消耗。复制因子是2,我希望上述方法的大小是实际文件大小的两倍 大小测试文件的大小为3145728字节。它与复制系数一起显示在dfs-ls命令中 ubuntu@ubuntu:~/ht$ sudo -u hdfs hdfs dfs -ls /var/lib/ubuntu Found 2 items -rw-r--r-- 2 ubuntu
ContentSummary.getspaceconsumered
方法获取HDFS目录占用的磁盘空间
考虑到复制因素,我无法正确获得空间消耗。复制因子是2,我希望上述方法的大小是实际文件大小的两倍
大小测试
文件的大小为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>
dfs.replication
2.
我是否遗漏了一些内容,以致DFS API忽略了复制因素