HDFS NAMENODE 安全模式
一、安全模式现象探究
1.1 关闭所有服务,使用命令单独启动服务
1 2 3 4 5 6 7 8 9 10 | 使用hdfs --daemon命令逐个进程启动集群,观察现象 1.首先启动namenode stop-all.sh jps hdfs --daemon start namenode jps hadoop fs -ls / #使用ls浏览时正常显示 hadoop fs -cat /test.txt #使用cat查看数据或创建目录等写操作时报错,提示现在是安全模式 hadoop fs -mkdir /hello mkdir: Cannot create directory /hello. Name node is in safe mode. |
1.2 访问控制台

1.3 启动一台datanode
1 | hdfs --daemon start datanode #第一台启动datanode,刷新访问控制台 |
1 | hadoop fs -mkdir /hello #再次创建目录没有异常 |
二、安全模式概述
1 2 3 | 1.在NameNode主节点启动时,HDFS会首先进入安全模式。检查包括文件副本的数量、可用的datanode数量、集群可用block比例等参数。 2.在安全模式下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。 3.在NameNode启动过程中,首先会从fsimage和edits日志文件加载文件系统状态。然后,等待DataNodes汇报可用的block信息。在此期间,NameNode保持在安全模式。随着DataNode的block汇报持续进行,当整个系统达到安全标准时,HDFS自动离开安全模式。在NameNode Web主页上会显示安全模式是打开还是关闭。 |
三、
1 2 3 4 5 6 7 | 相关参数(hdfs-site.xml): dfs.replication #hdfs block的副本数据,默认3 dfs.replication.max #最大块副本数,默认512 dfs.namenode.replication.min #最小块副本数,默认1 dfs.namenode.safemode.threshold-pct #已汇报可用数据块数量占整体块数量的百分比阈值。默认0.999f,小于或等于0,则表示退出安全模式之前,不要等待特定百分比的块。大于1的值将使安全模式永久生效。 dfs.namenode.safemode.min.datanodes #指在退出安全模式之前必须存活的DataNode数量,默认0 dfs.namenode.safemode.extension #达到阈值条件后持续扩展的时间。倒计时结束如果依然满足阈值条件,自动离开安全模式。默认30000毫秒 |
四、
1 2 3 4 5 | hdfs dfsadmin -safemode get 查看安全模式的状态 hdfs dfsadmin -safemode enter 进入安全模式 hdfs dfsadmin -safemode wait 进入安全模式 hdfs dfsadmin -safemode leave 离开安全模式 enter和wait都是进入安全模式,区别是enter是一定进入安全模式的,wait是等待HDFS进入安全模式 |
"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2018-02-17 CentOS7.4安装部署openstack [Liberty版] (二)