Hadoop集群安全模式&磁盘修复

文章详细介绍了HDFS的安全模式,包括其在文件系统只接受读请求的特性、进入安全模式的场景(如NameNode启动和DataNode注册时)、退出条件(如最小可用DataNode数量和副本比例)以及相关的HDFS命令。文中通过三个案例展示了如何在启动集群时进入安全模式、如何处理磁盘损坏问题以及如何模拟等待安全模式的场景。

目录

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集群上已经有上传的数据了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值