1. core-site.xml 中,有一個屬性是 fs.default.name,而不是 dfs.default.name
2. hdfs-site.xml 中,配置dfs.name.dir 和 dfs.data.dir時,如果有多條路徑,用逗號隔開後,不能再加空格,hadoop不會過濾空格的,如下圖中/name1,後面不能再加空格
3. 除了第一次啓動之前, 不能隨意format namenode。每次format namenode之後,都回在 namenode的 {hadoop_home_dir}/name1(2) /current/VERSION中生成新的namespaceID,而datanode的namespaceID卻不會被修改,這樣當再次啓動hadoop時,datanode會因爲何namenode的namespaceID不一致而無法啓動,通常可以在datanode的log中找到這樣的錯誤:"Incompatible namespaceIDs";主要有兩種解決方案:
(1)刪除所有的datanode上的hadoop相關文件,重新部署hadoop
(2)修改datanode的namespaceID,使得其id和namenode的一致,namespaceID保存在 {hadoop_home_dir}/data1(2)/current/VERSION中。
我覺得這兩種方案都挺麻煩的,不知道有沒有更簡單的方法,如果沒有的話,就不知道hadoop這樣設計的意圖是什麼了?