hdfs一直处于安全模式问题排查
安全模式下文件系统中的内容不允许修改也不允许删除,直到安全模式结束。
比如建目录会报如下错误
mkdir: Cannot create directory /1231. Name node is in safe mode.
系统提示name node处于安全模式
hdfs安全模式命令
# 查看安全模式状态
hdfs dfsadmin -safemode get
# 进入安全模式状态
hdfs dfsadmin -safemode enter
# 离开安全模式状态
hdfs dfsadmin -safemode leave
# 强制离开安全模式状态
hdfs dfsadmin -safemode forceExit
若强制关闭安全模式后,hdfs还处于安全模式,则需要进一步排查问题
1.查看namenode日志:
namenode磁盘空间不活跃
2022-08-07 08:57:01,659 WARN
org.apache.hadoop.hdfs.server.namenode.FSNamesystem: NameNode low on
available disk space. Already in safe mode.
磁盘空间不足
2022-08-08 10:56:28,424 WARN
org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker: Space
available on volume ‘/dev/vda2’ is 0, which is below the configured
reserved amount 104857600
2.进入hdfs-ui界面,查看具体信息:
磁盘块异常
磁盘空间不足
磁盘空间不足
至此确定具体问题,为磁盘空间已满导致。
强制永久关闭安全模式
在HDFS配置文件中修改安全模式阀值,达到关闭安全模式的目的
在hdfs-site.xml中设置安全阀值属性,属性值默认为0.999f,如果设为1则不进行安全检查
<property>
<name>dfs.safemode.threshold.pct</name>
<value>0.999f</value>
<description>
Specifies the percentage of blocks that should satisfy
the minimal replication requirement defined by dfs.replication.min.
Values less than or equal to 0 mean not to wait for any particular
percentage of blocks before exiting safemode.
Values greater than 1 will make safe mode permanent.
</description>
</property>