namenode正处于safemode状态,怎么处理?

解释:
safemode是namenode的一种状态(active/standby/safemode安全模式)
namenode进入安全模式的原理:
  a、namenode发现集群中的block丢失率达到一定比例时(0.01%),namenode就会进入安全模式,在安全模式下,客户端不能对任何数据进行操作,只能查看元数据信息(比如ls/mkdir)


  b、如何退出安全模式?
找到问题所在,进行修复(比如修复宕机的datanode)
或者可以手动强行退出安全模式(没有真正解决问题): hdfs namenode --safemode leave


  c、在hdfs集群正常冷启动时,namenode也会在safemode状态下维持相当长的一段时间,此时你不需要去理会,等待它自动退出安全模式即可
(原理:
namenode的内存元数据中,包含文件路径、副本数、blockid,及每一个block所在datanode的信息,而fsimage中,不包含block所在的datanode信息,
那么,当namenode冷启动时,此时内存中的元数据只能从fsimage中加载而来,从而就没有block所在的datanode信息

——>就会导致namenode认为所有的block都已经丢失

——>进入安全模式

——>datanode启动后,会定期向namenode汇报自身所持有的blockid信息,
——>随着datanode陆续启动,从而陆续汇报block信息,namenode就会将内存元数据中的block所在datanode信息补全更新

——>找到了所有block的位置,从而自动退出安全模式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值