CC00025.hadoop——|Hadoop&HDFS.V10|——|Hadoop.v10|Hadoop的限额/归档及集群安全模式|

本文详细介绍了Hadoop HDFS的文件限额配置,包括数量和空间大小的限制,以及如何清除这些限制。此外,还探讨了HDFS的安全模式,解释了其在集群启动时的作用,并展示了如何进入和退出安全模式。最后,文章通过案例展示了Hadoop归档技术,用于解决大量小文件问题,提高NameNode效率。启动YARN集群和归档文件的实际操作步骤也一并给出。
摘要由CSDN通过智能技术生成
一、Hadoop的限额与归档以及集群安全模式
### --- 高级命令

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

~~~     # 创建文件夹并设置资源限额
[root@linux121 ~]# hdfs dfs -mkdir -p /user/root/yanqi                   # 创建hdfs文件夹
[root@linux121 ~]# hdfs dfsadmin -setQuota 2 /user/root/yanqi            # 给该文件夹下面设置最多上传两个文件,上传文件,发现只能上传一个文件
~~~     # 上传文件

[root@linux121 ~]# hdfs dfs -put a.txt /user/root/yanqi
[root@linux121 ~]# hdfs dfs -put b.txt /user/root/yanqi
[root@linux121 ~]# hdfs dfs -put c.txt /user/root/yanqi
put: The NameSpace quota (directories and files) of directory /user/root/yanqi is exceeded: quota=2 file count=3
~~~     # 清除文件数量限制
 
[root@linux121 ~]# hdfs dfsadmin -clrQuota /user/root/yanqi
### --- 空间大小限额

~~~     # 设置空间大小限制
~~~     上传超过4Kb的文件大小上去提示文件超过限额

[root@linux121 ~]#  hdfs dfsadmin -setSpaceQuota 4k /user/root/yanqi # 限制空间大小4KB
~~~     # 验证空间限额

[root@linux121 ~]# hdfs dfs -put /opt/yanqi/software/jdk-8u231-linux-x64.tar.gz /user/root/yanqi
put: The DiskSpace quota of /user/root/yanqi is exceeded: quota = 4096 B = 4 KB but diskspace consumed = 402653184 B = 384 MB
~~~     # 清除空间限额
[root@linux121 ~]# hdfs dfsadmin -clrSpaceQuota /user/root/yanqi #清除空间限额

~~~     # 查看hdfs文件限额数量
[root@linux121 ~]# hdfs dfs -count -q -h /user/root/yanqi
        none             inf            none             inf            2            3            185.2 M /user/root/yanqi
### --- HDFS的安全模式

~~~     安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,
~~~     而不接受删除、修改等变更请求。在NameNode主节点启动时,
~~~     HDFS首先进入安全模式,DataNode在启动的时候会向NameNode汇报可用的block等状态,
~~~     当整个系统达到安全标准时,HDFS自动离开安全模式。
~~~     如果HDFS出于安全模式下,则文件block不能进行任何的副本复制操作,
~~~     因此达到最小的副本数量要求是基于DataNode启动时的状态来判定的,
~~~     启动时不会再做任何复制(从而达到最小副本数量要求),
~~~     # HDFS集群刚启动的时候,默认30S钟的时间是出于安全期的,
~~~     # 只有过了30S之后,集群脱离了安全期,然后才可以对集群进行操作。
~~~     # 开启安全模式

[root@linux121 ~]# hdfs dfsadmin -safemode enter
Safe mode is ON
~~~     # 验证安全模式下是否可以上传下载文件

[root@linux121 ~]# hdfs dfs -get /hadoop.txt
[root@linux121 ~]# hdfs dfs -put hadoop.txt /a.txt
put: Cannot create file/a.txt._COPYING_. Name node is in safe mode.
~~~     # 关闭安全模式

[root@linux121 ~]# hdfs dfsadmin -safemode leave
Safe mode is OFF
### --- Hadoop归档技术

~~~     主要解决HDFS集群存在大量小文件的问题!!
~~~     由于大量小文件会占用NameNode的内存,
~~~     因此对于HDFS来说存储大量小文件造成NameNode内存资源的浪费!
~~~     Hadoop存档文件HAR文件,是一个更高效的文件存档工具,
~~~     HAR文件是由一组文件通过archive工具创建而来,
~~~     在减少了NameNode的内存使用的同时,可以对文件进行透明的访问,
~~~     通俗来说就是HAR文件对NameNode来说是一个文件减少了内存的浪费,
~~~     对于实际操作处理文件依然是一个一个独立的文件。
二、案例
### --- 启动YARN集群

[root@linux123 hadoop-2.9.2]# start-yarn.sh
### --- 归档文件
~~~     把/user/root/input目录里面的所有文件归档成一个叫input.har的归档文件,
~~~     并把归档后文件存储到/user/root/output路径下。

[root@linux121 ~]# hadoop archive -archiveName input.har -p /user/root/input  /user/root/output
### --- 查看归档

[root@linux121 ~]#  hadoop fs -lsr /user/root/output/input.har
-rw-r--r--   3 root supergroup          0 2021-08-13 20:17 /user/root/output/input.har/_SUCCESS
-rw-r--r--   3 root supergroup        179 2021-08-13 20:17 /user/root/output/input.har/_index
-rw-r--r--   3 root supergroup         23 2021-08-13 20:17 /user/root/output/input.har/_masterindex
-rw-r--r--   3 root supergroup          0 2021-08-13 20:17 /user/root/output/input.har/part-0

[root@linux121 ~]# hadoop fs -lsr har:///user/root/output/input.har
-rw-r--r--   3 root supergroup          0 2021-08-13 20:02 har:///user/root/output/input.har/a.txt
-rw-r--r--   3 root supergroup          0 2021-08-13 20:02 har:///user/root/output/input.har/b.txt
### --- 解归档文件

[root@linux121 ~]# hadoop fs -cp har:///user/root/output/input.har/* /user/root
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值