0 前言

昨天遇到了一个很郁闷的问题,在虚拟机搭建hadoop集群后没有停止服务就关闭了虚拟机。导致hdfs失效,namenode和datanode丢失,于是找到了解决的办法。

1 解决方法


就是简单的一个字,删!


删除掉损坏的 namenode数据和datanode数据,具体过程如下


  1. 删除所有节点下 ~/dfs/data 文件夹下的所有内容
  2. 删除所有节点下 ~/dfs/name 文件夹下的所有内容
  3. 删除所有节点下 ~/tmp 文件夹下的所有内容
  4. 重新初始化 namenode: 在namenode节点上hadoop安装文件夹下执行 ./bin/hdfs namenode -format
  5. 重启dfs和yarn服务 :在namenode节点上hadoop安装文件夹下执行 ./sbin/start-dfs.sh 然后执行 ./sbin/start-yarn.sh


2 关机顺序


在服务器中搭建完hadoop集群后一定要注意关闭服务后再关闭电源,以免hadoop集群无法正常启动


  1. 关闭dfs和yarn服务:在namenode节点上hadoop安装文件夹下执行 ./sbin/stop-dfs.sh 然后执行 ./sbin/stop-yarn.sh
  2. 关闭系统

3 感言


hadoop集群看起来非常脆弱,如果突然出现断电情况的也会导致同样的问题。在生产环境中就购置在线式UPS吧,以防万一。