Hadoop safemode 安全模式

8 篇文章 0 订阅

概念

安全模式是hadoop的一种保护机制

哪些情况会进入safemode

  • 启动或者重新启动hdfs时,会有一段时间自动进入安全模式
  • 运维人员在进行调试时,进行HDFS维护升级时
  • 可用副本/总副本数 > 99.9999% ===> 不会进安全模式;否则进安全模式

安全模式下,集群属于只读状态。

但是严格来说,只是保证HDFS元数据信息的访问,而不保证文件的访问,因为文件的组成Block信息此时NameNode还不一定已经知道了。所以只有NameNode已了解了Block信息的文件才能独到。而安全模式下任何对HDFS有更新的操作都会失败。

对于全新创建的HDFS集群,NameNode启动后不会进入安全模式,因为没有Block信息。

命令

查询当前是否为安全模式

hdfs dfsadmin -safemode get

等待safemode关闭,以便后续操作

hdfs dfsadmin -safemode wait

退出安全模式

hdfs dfsadmin -safemode leave

启用安全模式

hdfs dfsadmin -safemode enter

相关配置

属性描述
dfs.namenode.replication.minNameNode中设定所需要的数据块最低复制份数。只有大于等于这个值,才会认为块是有效的,默认为1。
dfs.namenode.safemode.threshold-pct

参数指定满足dfs.namenode.replication.min复制份数要求的Block数量的比率,超过这个比率后NameNode才能脱离安全模式。若小于0,则不需要等待DataNode的块报告就离开SafeMode,这会使得数据完整性无法保证;若大于1,则永远处于安全模式,默认为0.999f。

dfs.namenode.safemode.extension安全模式的延期时间,即到达dfs.namenode.safemode.threshold-pct设置的阈值后,会再等待这么长时间,可以认为是等待一个稳定的集群环境,默认3000,单位毫秒。
dfs.namenode.safemode.min.datanodes

设置NameNode退出安全模式前确认活跃的DataNode数量。小于等于0表示不考虑活跃DataNode的影响,大于集群中DataNode总数则使得永远处于安全模式,默认0。

自检

hdfs fsck /

hdfs fsck 
Usage:DFSck <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]
<path> 检查这个目录中的文件是否完整
-move 破损的文件移至/lost+found目录
-delete 删除破损的文件
-openforwrite 打印正在打开写操作的文件
-files 打印正在check的文件名
-blocks 打印block报告(需要和-files参数一起使用)
-locations 打印每个block的位置信息(需要和-files参数一起使用)
-racks 打印位置信息的网络拓扑图(需要和-files参数一起使用)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值