九、HDFS安全模式,快照,回收站,配额管理的用法
发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,一、安全模式hdfs最开始开始开启集群的时候,会处于安全模式下,此时内部正检查集群中的副本率是否满足配置文件中所配置的副本率1、如果不满足就需通过节点间的复制满足副本率后才会退出安全模式。2、如果大于
一、安全模式
hdfs最开始开始开启集群的时候,会处于安全模式下,此时内部正检查集群中的副本率是否满足配置文件中所配置的副本率
1、如果不满足就需通过节点间的复制满足副本率后才会退出安全模式。
2、如果大于所配置的副本率,就会通过删除多于副本来降低副本率
检查安全模式的情况:
hdfs dfsadmin -safemode get|enter|leave|wait
注意:
处于安全模式下时,无法对hdfs中的文件进行写,修改操作,只能进行读操作。
1、最小副本条件的设置
dfs.replication.min, 默认是1
二、快照
这是对hdfs中某个目录做的一个备份。默认情况下,每个目录的快照功能是关闭的,所以如果要给该目录创建快照,就得给该目录开启快照功能。
开启快照:
hdfs dfsadmin -allowSnapshot
关闭快照:
hdfs dfsadmin -disallowSnapshot
显示所有能创建快照的目录:
hdfs lsSnapshottableDir
比较两个快照不同的地方:
//比较一个目录的两个快照的不同hdfs snapshotDiff 快照目录 快照1 快照2//比较目录和快照的不同,中间那个"."表示当前目录,不可省略hdfs snapshotDiff 快照目录 . 快照1
创建快照:
//快照的目录 快照的名称(可选)hdfs dfs -createSnapshot []创建的快照状态会存储在所创建快照的目录下的 .snapshot// 这个目录下
删除快照:
//快照的目录 快照的名称(必须要有,因为一个目录可能有多个快照)hdfs dfs -deleteSnapshot
重命名快照:
//快照的目录 快照的名称(必须要有,因为一个目录可能有多个快照)hdfs dfs -renameSnapshot
从快照中恢复内容:
可以直接从 /.snapshot// 中查看到所有的文件以及目录,需要哪个文件就拷贝哪个文件。snapshotDir为创建了快照的目录
三、hdfs回收站
回收站默认是关闭的,需要在配置文件中设置开启
1、开启回收站
修改core-site.xml,然后重启hdfs
fs.trash.interval 2 fs.trash.checkpoint.interval 1
2、查看回收站
开启回收站之后,当我们删除hdfs的文件时,删除的文件会移动到 hdfs的/user/USERNAME/.trash/Current/ 下,其中USERNAME是当前操作hdfs 的有用户名。所以实际上就是剪切操作。
注意:
通过程序删除的文件不会移动到回收站中,需要显式将文件移动到回收站。如果是通过命令行的是会移动到回收站的。
3、通过程序将文件移动到回收站
//创建回收站对象Trash tsh = new Trash(conf);Path path = new Path(pathString);//将指定文件移动到回收站tsh.moveToTrash(path);
4、清空回收站
hdfs dfs -expunge
5、从回收站恢复文件
直接从回收站的路径剪切到指定路径下即可
四、配额
//名称配额,简单说就是该目录下文件和目录的总个数的限制hdfs dfsadmin -setQuota N HDFS目录1 HDFS目录2..... 设置名称配额hdfs dfsadmin -clrQuota HDFS目录1 HDFS目录2..... 取消名称配额//空间配额,简单说就是该目录的存储空间限制hdfs dfsadmin -setSpaceQuota N单位(如:1GB) [-storageType ] HDFS目录1 HDFS目录2..... 设置空间配额hdfs dfsadmin -clrSpaceQuota [-storageType ] HDFS目录1 HDFS目录2..... 取消空间配额其中 storageType 有以下类型:RAW-DISK:原始物理磁盘DISK: 分区空间SSD: 固态硬盘ARCHIVE: