文件限额

hdfs文件的限额配置允许我们文件大小或者文件个数来限制在某个目录下上传的文件数量或者文件内容总量,以便达到类似百度网盘网盘等限制每个用户允许上传的最大的文件的量。

1.1. 数量限额

执行以下命令进行文件数量限额

hadoop fs -mkdir -p /user/root/lisi     #创建hdfs文件夹
 
 
 
1
1
 
 
 
1
hadoop fs -mkdir -p /user/root/lisi     #创建hdfs文件夹
 
 
hdfs dfsadmin -setQuota 2 lisi      # 给该文件夹下面设置最多上传两个文件,上传文件,发现只能上传一个文件
 
 
 
1
1
 
 
 
1
hdfs dfsadmin -setQuota 2 lisi      # 给该文件夹下面设置最多上传两个文件,上传文件,发现只能上传一个文件
 
 
hdfs dfsadmin -clrQuota /user/root/lisi    # 清除文件数量限制
 
 
 
1
1
 
 
 
1
hdfs dfsadmin -clrQuota /user/root/lisi    # 清除文件数量限制
 
 

1.2. 空间大小限额

执行以下命令进行空间大小限额

hdfs dfsadmin -setSpaceQuota 4k /user/root/lisi   # 限制空间大小4KB
hdfs dfs -put  /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz /user/root/lisi
 
 
 
2
 
 
 
 
1
hdfs dfsadmin -setSpaceQuota 4k /user/root/lisi   # 限制空间大小4KB
2
hdfs dfs -put  /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz /user/root/lisi
 
 

 上传超过4Kb的文件大小上去提示文件超过限额

hdfs dfsadmin -clrSpaceQuota /user/root/lisi   #清除空间限额
hdfs dfs -put  /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz /user/root/lisi
 
 
 
2
 
 
 
 
 
1
hdfs dfsadmin -clrSpaceQuota /user/root/lisi   #清除空间限额
2
hdfs dfs -put  /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz /user/root/lisi
 
 

1.3. 查看hdfs文件限额数量

hdfs dfs -count -q -h /user/root/lisi
 
 
 
1
 
 
 
 
 
1
hdfs dfs -count -q -h /user/root/lisi
 
 
  • 可以设置某个文件夹可以用于多少个子文件 或者文件的大小限制
  • 强制限制 超过即禁止
hdfs dfsadmin -setQuota 2 /user/root/lisi  开启限制 限制文件个数为2

[root@node-3 test]# hadoop fs -put 1.txt /user/root/lisi
[root@node-3 test]# hadoop fs -put 2.txt /user/root/lisi 
put: The NameSpace quota (directories and files) of directory /user/root/lisi is exceeded: quota=2 file count=3   报错 显示已经超过现在 

[root@node-3 test]# hdfs dfsadmin -clrQuota /user/root/lisi
[root@node-3 test]# hadoop fs -put 2.txt /user/root/lisi   
[root@node-3 test]# hadoop fs -put 3.txt /user/root/lisi   清楚文件超额限制

hdfs dfs -count -q -h /user/root/lisi  查看某个路径是否开启文件超额限制
 
 
 
x
11
 
 
 
 
 
1
hdfs dfsadmin -setQuota 2 /user/root/lisi  开启限制 限制文件个数为2
2

3
[root@node-3 test]# hadoop fs -put 1.txt /user/root/lisi
4
[root@node-3 test]# hadoop fs -put 2.txt /user/root/lisi 
5
put: The NameSpace quota (directories and files) of directory /user/root/lisi is exceeded: quota=2 file count=3   报错 显示已经超过现在 
6

7
[root@node-3 test]# hdfs dfsadmin -clrQuota /user/root/lisi
8
[root@node-3 test]# hadoop fs -put 2.txt /user/root/lisi   
9
[root@node-3 test]# hadoop fs -put 3.txt /user/root/lisi   清楚文件超额限制
10

11
hdfs dfs -count -q -h /user/root/lisi  查看某个路径是否开启文件超额限制
 
 
 



原文地址:https://www.cnblogs.com/TiePiHeTao/p/27b19d7eb46cd08d730ced5900e9a9b6.html