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