在配置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 .....