目录
1)安全模式
2)进入安全模式场景
3)退出安全模式条件
4)基本语法
5)案例1:启动集群进入安全模式
6)案例2:磁盘修复
7)案例3:模拟等待安全模式
1)安全模式
文件系统只接受读数据请求,而不接受删除、修改等变更请求
2)进入安全模式场景
- NameNode在加载镜像文件和编辑日志期间处于安全模式;
- NameNode再接收DataNode注册时,处于安全模式
3)退出安全模式条件
dfs.namenode.safemode.min.datanodes:最小可用datanode数量,默认0
dfs.namenode.safemode.threshold-pct:副本数达到最小要求的block占系统总block数的百分比,默认0.999f。(只允许丢一个块)
dfs.namenode.safemode.extension:稳定时间,默认值30000毫秒,即30秒
4)基本语法
集群处于安全模式,不能执行重要操作(写操作)。集群启动完成后,自动退出安全模式。
hdfs dfsadmin -safemode get (功能描述:查看安全模式状态)
hdfs dfsadmin -safemode enter (功能描述:进入安全模式状态)
hdfs dfsadmin -safemode leave (功能描述:离开安全模式状态)
hdfs dfsadmin -safemode wait (功能描述:等待安全模式状态)
5)案例1:启动集群进入安全模式
(1)重新启动集群
myhadoop.sh stop
myhadoop.sh start
(2)集群启动后,立即来到集群上删除数据,提示集群处于安全模式
6)案例2:磁盘修复
需求:数据块损坏,进入安全模式,如何处理
(1)分别进入hadoop102/103/104以下目录,统一删除某4个块信息
/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-1176991228-192.168.13.102-1677655156869/current/finalized/subdir0/subdir0
rm -rf blk_1073741834_1010.meta
rm -rf blk_1073741835_1011.meta
rm -rf blk_1073741984_1162.meta
rm -rf blk_1073741985_1163.meta
说明:hadoop103/hadoop104重复执行以上命令
(2)重新启动集群
myhadoop.sh stop
myhadoop.sh start
(3)观察http://hadoop102:9870/dfshealth.html#tab-overview
说明:安全模式已经打开,块的数量没有达到要求。
(4)离开安全模式
hdfs dfsadmin -safemode get
hdfs dfsadmin -safemode leave
(5)观察http://hadoop102:9870/dfshealth.html#tab-overview
如果是磁盘损坏造成的影响,且数据比较重要,此时应将磁盘断电,进行维修
如果数据不重要,直接将上述受影响的文件删除即可
数据删除一项后,错误少了一项
将相关文件全部删除后,系统恢复正常
7)案例3:模拟等待安全模式
需求:模拟等待安全模式
这个功能主要用于离开安全模式后自动做的一些操作
(1)查看当前模式
hdfs dfsadmin -safemode get
Safe mode is OFF
(2)先进入安全模式
hdfs dfsadmin -safemode enter
(3)创建并执行下面的脚本
在/opt/module/hadoop-3.1.3路径上,编辑一个脚本safemode.sh
#!/bin/bash
hdfs dfsadmin -safemode wait
hdfs dfs -put /opt/module/hadoop-3.1.3/README.txt /
chmod 777 safemode.sh
./safemode.sh
(4)再打开一个窗口,执行
hdfs dfsadmin -safemode leave
(5)再观察上一个窗口
Safe mode is OFF
(6)HDFS集群上已经有上传的数据了
文章来源:https://www.toymoban.com/news/detail-813962.html
文章来源地址https://www.toymoban.com/news/detail-813962.html
到了这里,关于Hadoop集群安全模式&磁盘修复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!