我已创建目录并使用以下命令在HDFS中设置配额:
hdfs dfs -mkdir /user/hdadmin/directorio_prueba
hdfs dfsadmin -setQuota 4 /user/hdadmin/directorio_prueba
我已经在其中放了一些文件:
hdfs dfs -put /opt/bd/ejemplo1.txt /user/hdadmin/directorio_prueba
hdfs dfs -put /opt/bd/ejemplo2.txt /user/hdadmin/directorio_prueba
hdfs dfs -put /opt/bd/ejemplo3.txt /user/hdadmin/directorio_prueba
但是,当我尝试放置第四个文件时,HDFS却没有让我说“目录/ user / hdadmin / directorio_prueba的NameSpace配额(目录和文件)已超出:quota = 4文件数= 5”。我只有3个文件,但它说有4个项目(目录中的目录和文件)。我还使用了以下命令来收集更多信息:
hdfs dfs -count -q -h -v /user/hdadmin/directorio_prueba
所以那里有一个隐藏目录。这个目录是什么?也许 ”。”或“ ..”?
答案 0 :(得分:1)
答案 1 :(得分:0)
阅读HDFS名称配额(https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsQuotaAdminGuide.html)的官方文档后,我发现:'配额为1会强制目录保持为空。 (是的,目录计入自己的配额!)。
因此没有“ ..”或“。”目录。目录本身就是配额。然而 ”。”该目录未明确显示。这就是hdfs dfs -ls /user/hdadmin/directorio_prueba
命令没有显示任何隐藏目录(例如“。”)的原因。