写点什么

HDFS 文件限额配置

发布于: 2021 年 04 月 28 日

在多人共用 HDFS 的环境下,配置设置非常重要。特别是在 Hadoop 处理大量资料的环境,如果没有配额管理,很容易把所有的空间用完造成别人无法存取。Hdfs 的配额设定是针对目录而不是针对账号,可以 让每个账号仅操作某一个目录,然后对目录设置配置。


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


 hdfs dfs -count -q -h /user/root/dir1  #查看配额信息
复制代码


1、数量限额

hdfs dfs  -mkdir -p /user/root/dir    #创建hdfs文件夹hdfs dfsadmin -setQuota 2  dir      # 给该文件夹下面设置最多上传两个文件,发现只能上传一个文件
复制代码


hdfs dfsadmin -clrQuota /user/root/dir  # 清除文件数量限制
复制代码

2、空间大小限额

在设置空间配额时,设置的空间至少是 block_size * 3 大小


hdfs dfsadmin -setSpaceQuota 4k /user/root/dir   # 限制空间大小4KBhdfs dfs -put  /root/a.txt  /user/root/dir 
复制代码


生成任意大小文件的命令:


dd if=/dev/zero of=1.txt  bs=1M count=2     #生成2M的文件
复制代码


清除空间配额限制


hdfs dfsadmin -clrSpaceQuota /user/root/dir
复制代码

3、hdfs 的安全模式

​ 安全模式是 hadoop 的一种保护机制,用于保证集群中的数据块的安全性。当集群启动的时候,会首先进入安全模式。当系统处于安全模式时会检查数据块的完整性。


假设我们设置的副本数(即参数 dfs.replication)是 3,那么在 datanode 上就应该有 3 个副本存在,假设只存在 2 个副本,那么比例就是 2/3=0.666。hdfs 默认的副本率 0.999。我们的副本率 0.666 明显小于 0.999,因此系统会自动的复制副本到其他 dataNode,使得副本率不小于 0.999。如果系统中有 5 个副本,超过我们设定的 3 个副本,那么系统也会删除多于的 2 个副本。


在安全模式状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。在,当整个系统达到安全标准时,HDFS 自动离开安全模式。30s


安全模式操作命令


    hdfs  dfsadmin  -safemode  get #查看安全模式状态    hdfs  dfsadmin  -safemode  enter #进入安全模式    hdfs  dfsadmin  -safemode  leave #离开安全模式
复制代码


用户头像

专注于大数据技术研究 2020.11.10 加入

运营公众号:五分钟学大数据。大数据领域原创技术号,深入大数据技术

评论

发布
暂无评论
HDFS文件限额配置