在配置hadoop的hdfs的时候,要首先格式化,而后才能启动,可是格式化的方式有的是不对出现Initialization failed for Block pool <registering> (Datanode Uuid unassigned) ,好比直接使用命令node
hadoop namenode -format
这种方式貌似还停留在hadoop1.x 使用了hadoop2.x版本了还带有secondaryNameNode,即便你用SNN,也能够升级一下命令啊!!!python
结果就是你 start-dfs.sh 后有的datanode仍是没有启动查看对应日志以下:oop
如上图中所示,解决办法:ui
1.中止当下全部hadoop进程日志
2.删除zookeeper上面hadoop的目录 rmr /hadoop-ha (若是有关于hadoop的就删除,没有就算)orm
3.删除你指定的dfs元数据的目录 ***/tmp/dfs/name,***/tmp/dfs/data ,直接rm -rf /tmp/* 就能够了blog
4.在namenode节点上从新格式化 hdfs namenode -format ,能够瞬间顺利完成,若是中间出现异常,那你就要检查配置什么的了进程
5.从新启动hdfs ,start-dfs.sh 查看slaves中指定的datanode是否都起来了hadoop
以上截图是真实环境开发中遇到的问题,亲测了.....开发
固然了,如今都用cdh管理了,可是不排除有些傻逼 公司的傻逼组长或者领导什么的还在使用原始的方式搭建,那就赶快走吧,
这样的傻逼公司这样的傻逼领导内心保守的很,不敢破旧就新,没有多大前途,他确定也会一直压着你的一些新的想法,
跟傻逼一块儿是不会有多大进步的,go go go .....