0 前言
昨天遇到了一个很郁闷的问题,在虚拟机搭建hadoop集群后没有停止服务就关闭了虚拟机。导致hdfs失效,namenode和datanode丢失,于是找到了解决的办法。
1 解决方法
就是简单的一个字,删!
删除掉损坏的 namenode数据和datanode数据,具体过程如下
- 删除所有节点下 ~/dfs/data 文件夹下的所有内容
- 删除所有节点下 ~/dfs/name 文件夹下的所有内容
- 删除所有节点下 ~/tmp 文件夹下的所有内容
- 重新初始化 namenode: 在namenode节点上hadoop安装文件夹下执行 ./bin/hdfs namenode -format
- 重启dfs和yarn服务 :在namenode节点上hadoop安装文件夹下执行 ./sbin/start-dfs.sh 然后执行 ./sbin/start-yarn.sh
2 关机顺序
在服务器中搭建完hadoop集群后一定要注意关闭服务后再关闭电源,以免hadoop集群无法正常启动
- 关闭dfs和yarn服务:在namenode节点上hadoop安装文件夹下执行 ./sbin/stop-dfs.sh 然后执行 ./sbin/stop-yarn.sh
- 关闭系统
3 感言
hadoop集群看起来非常脆弱,如果突然出现断电情况的也会导致同样的问题。在生产环境中就购置在线式UPS吧,以防万一。