一般hadoop集群重启后会立即处于安全模式,主节点检查各个从节点数据正常后会自动解除安全模式,是否丢失数据可使用命令 “hadoop fsck 路径"来进行查看,例如:
hadoop fskc / 查看根目录下所有文件的健康状况,是否有损坏的数据块
如果重启前你的集群是正常的,没有丢失数据,而重启结束之后检查发现该目录下有大量损坏的块,这种情况下一般都是某个节点没有启动成功,亦或者使用cloudera manager搭建的hadoop集群配置文档已修改,博主遇到过以下情况:
hadoop重启完毕之后一直处于安全模式,检查后所有节点均正常启动,使用hadoop fskc / 命令发现有大量损坏的块,损坏块占集群中块总量的30%,对集群进行检查后发现,所有节点挂载的数据目录均被设置成默认目录,例如:
主机A有多快磁盘,被挂载在多个目录下/data1/dfs/dn,/data2/dfs/dn/data3/dfs/dn,该三个磁盘被用来保存集群数据
主机B只有一块磁盘,被挂载在/data1/dfs/dn
集群重启后所有节点的数据目录均被重置为/data1/dfs/dn,该情况会导致主机A/data2/dfs/dn/,/data3/dfs/dn/目录数据未被集群读取,就会产生数据丢失,重新修改配置文件并重启集群后数据正常读取!
所以,各位大数据工程师在重启集群的时候尽量慎重,谨防错误操作导致数据丢失!
纯手工敲打,谢谢您的点赞评论!