大数据笔记(五)——HDFS的高级特性

一.HDFS的回收站: recyclebin

  1.HDFS的回收站默认是关闭的

       2.启用回收站:去core-site.xml配置

  路径:/root/training/hadoop-2.7.3/etc/hadoop

<property>
    <name>fs.trash.interval</name>
    <value>1440</value>
</property>

      3.配置完成后删除目录 hdfs dfs -rmr /folder1

日志:

18/02/26 23:08:03 INFO fs.TrashPolicyDefault: Namenode trash configu ration: Deletion interval = 1440 minutes, Emptier interval = 0 minut es.
Moved: 'hdfs://bigdata11:9000/folder1' to trash at: hdfs://bigdata11 :9000/user/root/.Trash/Current

本质:删除数据的时候,实际是一个ctrl+x操作

  4.查看回收站:hdfs dfs -lsr /user/root/.Trash/Current

  5.恢复:实际就是拷贝  hdfs dfs -cp /user/root/.Trash/Current/input/data.txt /input

  6.清空:hdfs dfs -expunge

二.HDFS的快照  snapshot:备份

  1.默认:HDFS的快照是禁用的

  2.开启快照第一步:管理员开启某个目录的快照功能
  [-allowSnapshot <snapshotDir>]
  [-disallowSnapshot <snapshotDir>]

  hdfs dfsadmin -allowSnapshot /aaa

  3.第二步:使用HDFS的操作命令,创建快照

  [-createSnapshot <snapshotDir> [<snapshotName>]]
  [-deleteSnapshot <snapshotDir> <snapshotName>]
  [-renameSnapshot <snapshotDir> <oldName> <newName>]

  hdfs dfs -createSnapshot /aaa aaa_backup_01
  日志:Created snapshot /aaa/.snapshot/aaa_backup_01
  本质:将数据拷贝一份到当前目录的一个隐藏目录下

  4.对比快照:hdfs snapshotDiff /aaa aaa_backup_01 aaa_backup_02

  

三.HDFS的配额:quota

  1.名称配额: 规定某个目录下,存放文件(目录)的个数

  实际的个数:N-1个
  [-setQuota <quota> <dirname>...<dirname>]
  [-clrQuota <dirname>...<dirname>]

  hdfs dfs -mkdir /quota1
  设置该目录的名称配额:3
  hdfs dfsadmin -setQuota 3 /quota1

  当我们放第三个文件的时候
  hdfs dfs -put data.txt /quota1
  

put: The NameSpace quota (directories and files) of directory /quota1 is exceeded: quota=3 file count=4


  2.空间配额: 规定某个目录下,文件的大小
  [-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>]
  [-clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>]

  hdfs dfs -mkdir /quota2
  设置该目录的空间配额是:10M
  hdfs dfsadmin -setSpaceQuota 10M /quota2

  正确的做法:hdfs dfsadmin -setSpaceQuota 130M /quota2

  放一个小于10M的文件,会出错
  

Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.protocol.DSQuotaExceededException): The DiskSpace quota of /quota2 is exceeded: quota = 10485760 B = 10 MB but diskspace consumed = 134217728 B = 128 MB


  注意:尽管数据不到128M,但是占用的数据块依然是128M
  切记:当设置空间配额的时候,这个值不能小于128M

四.HDFS的权限

drwxr-xr-x - root supergroup 0 2018-02-26 23:30 /aaa

权限            用户名  组名                                   文件目录

参考命令链接:http://blog.csdn.net/feeltouch/article/details/46538277

五.HDFS的安全模式

  一种保护机制,用于保护数据块的安全性。

原文地址:https://www.cnblogs.com/lingluo2017/p/8476724.html