hadoop之安全模式,配额,快照

it2025-04-02  10

什么是安全模式: 安全模式开启的时候不能对文件做操作,即修改文件, 创建文件夹 (原因要合并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

最新回复(0)