什么是安全模式: 安全模式开启的时候不能对文件做操作,即修改文件, 创建文件夹 (原因要合并edit image 所以不允许对文件进行操作)
hdfs dfsadmin -safemode -help
查看安全模式是否开启 $> hdfs dfsadmin -safemode get Safe mode is OFF
手动操作checkpoint
1.安全模式:【开启状态】
$>hdfs dfsadmin -safemode enter //进入 维护和升级集群时用
$>hdfs dfsadmin -safemode leave //离开(退出安全模式)
$>hdfs dfsadmin -safemode get //获取当前安全模式状态
$>hdfs dfsadmin -safemode wait //等待(先退出安全模式)
手动合并 1)查看seen_txid 2)开启安全模式 3)手动合并 4)关闭安全模式 5)查看seen_txid
rolledits(滚动日志 手动合并)
$>hdfs dfsadmin -rollEdits
获得namenod的主机名 $>hdfs getconf -namenodes
显示块的信息:hadoop fsck / -files -blocks
查找一个文件的数据块 $> hdfs fsck /newaaa.txt -files -blocks -racks
hdfs管理员操作dfsadmin(322)
1.-report:返回集群的状态信息(webUI)
$>hdfs dfsadmin -report
2.-metasave:默认存放到{HADOOP_LOG_DIR}路径下,包含datanode和块的信息
$>hdfs dfsadmin -metasave metasave.txt
$>cd {HADOOP_LOG_DIR} /home/crx/soft/hadoop/logs
$>cat metasave.txt
3.保存名字空间(必须在安全模式下执行)
$>hdfs dfsadmin -saveNamespace
通过webUI Startup Progress查看,hdfs启动加载本地fsimage镜像和edits日志
在datanode节点看不到最新的fsimage文件,通过以下指令可以在datanode节点下
查看到最新的fsimage文件,(namenode节点是可以查看到最新的fsimage)
3.-fetchImage:从namenode节点获取最新的fsimage文件至本地指定目录
$>hdfs dfsadmin -fetchImage ~/ (***注:在datanode节点上执行***)
下载到本地之后通过cat查看是乱码(关闭窗口)
通过以下指令将fsimage保存为xml文件,双击打开(windows)
oiv查看fsimage文件
(1)基本语法
hdfs oiv -p 文件类型 -i镜像文件 -o 转换后文件输出路径
(2)案例实操
$> pwd
/tmp/dfs/name/current
$> hdfs oiv -p XML -i fsimage_0000000000000000828 -o ~/Desktop/fsimage.xml
双击打开 ~/Desktop/fsimage.xml
fsimage_0000000000000000030 //镜像文件
fsimage_0000000000000000030.md5 //校验镜像文件的作用
oev查看edits文件
(1)基本语法
hdfs oev -p 文件类型 -i编辑日志 -o 转换后文件输出路径
(2)案例实操
$> hdfs oev -p XML -i edits_0000000000000000632-0000000000000000694 -o ~/Desktop/edits.xml
双击打开 ~/Desktop/edits.xml
4.查看配额数
$>hadoop fs -count -q /aaa
文件数限额 可用文件数 空间限额 可用空间 目录数 文件数 总大小 文件/目录名
2 0 none inf 1 1 172 /quota
5.-setQuota:设置文件目录配额 (“/”下的目录配额无法更改,只能通过修改参数更改 )
$>hdfs dfsadmin -setQuota 8 /aaa
6.清除配额限制(再次上传)
$>hdfs dfsadmin -clrQuota /aaa
7.设置空间配额大小为200MB 200*1024*1024=209715200
-setSpaceQuota:设置文件目录空间配额,针对blocksize描述的,空间配额的值为文件大小*replication(副本数)
$>hdfs dfsadmin -setSpaceQuota 209715200 /aaa
8.清除空间配额限制
$>hdfs dfsadmin -clrSpaceQuota /aaa
Snapshot快照(和Linux快照相同) 快照snapshots是HDFS文件系统的只读的基于某时间点的拷贝, 可以针对某个目录,或者整个文件系统做快照。 快照比较常见的应用场景是数据备份,以防一些用户错误或灾难恢复。
hdfs下所有的文件都可以做快照,但是我们不需这么做, 只需要把重要的或你需要备份的来做快照 1.列出快照的列表 $>hdfs lsSnapshottableDir
2.允许快照 把一个目录设置为snapshottable,就是设置允许对一个目录创建快照。 hdfs dfsadmin -allowSnapshot /aaa http://master:50070/dfshealth.html#tab-snapshot
3.创建快照 hdfs dfs -createSnapshot /aaa snapshot1 http://master:50070/dfshealth.html#tab-snapshot
3.重命名快照 hdfs dfs -renameSnapshot /aaa snapshot1 snapshot2 http://master:50070/dfshealth.html#tab-snapshot
4.删除hdfs /aaa下文件,快照是否会删除? 答:不会 hdfs dfs -ls /aaa hadooop fs -rm /aaa/bbb.txt
快照是否会删除? hdfs dfs -ls /aaa/.snapshot/snapshot1
HDFS查看快照 http://master:50070/dfshealth.html#tab-snapshot Snapshotted directories: 1 Snapshot ID Snapshot Directory Modification Time snapshot1 /aaa/.snapshot/snapshot1 3/15/2019, 1:17:52 PM
hadoop fs -lsr /aaa/.snapshot/snapshot1
查看/aaa 查看/aaa/.snapshot/snapshot2 http://master:50070/
5、删除快照 hdfs dfs -deleteSnapshot /aaa snapshot1 hdfs lsSnapshottableDir
http://master:50070/
6.禁止快照 禁止创建一个目录的奎照。在禁止快照前,该目录下已有的快照需要被删除。 hdfs dfsadmin -disallowSnapshot /aaa http://master:50070/dfshealth.html#tab-snapshot