【Ubuntu 16.04 Hadoop2.9.1】
跟着廈大林子雨的實驗指南配置僞分佈式環境時出現了以下問題:
在修改了/etc/hadoop/core-site.xml & /etc/hadoop/hdfs-site.xml後
namenode -format時出現 Cannot create directory /Softwares/hadoop/tmp/dfs/name/current 異常
具體配置文件修改如下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/Softwares/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/Softwares/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/Softwares/hadoop/tmp/dfs/data</value>
</property>
</configuration>
考慮可能是如下問題:
1. 權限問題 2. 防火牆問題(剛開始是發現50070端口無法訪問)
嘗試過程中發現 :
(1)防火牆已關閉
【注:Ubuntu 中使用service iptables start 或者service iptables stop開啓關閉防火牆會報錯 】
【應使用 sudo ufw enable 和sudo ufw disable開啓關閉防火牆 查看防火牆狀態使用sudo ufw status verbose 或者 iptables -L 命令】
所以就沒firewall什麼事了。。。
(2)sudo su 切換至root 使用sudo chmod -R a+w /home/hadoop/Softwares/hadoop/ 修改權限 再exit 重新format依舊不行
這就很難受了。。
繼續嘗試 將兩個xml文件裏和路徑相關的property都刪掉 使用默認生成的目錄 重新format 咦 這下好了
但繼續出現以下問題:
(1)並沒有看到生成的tmp文件
(2)./sbin/start-dfs.sh 後 使用jps命令查看 namenode datanode secondary jps都是正常的 localhost:50070也能正常訪問 但在使用過程中經常會頁面崩潰 使用jps命令查看發現namenode已經不顯示了 重新啓動後 正常 過一會。。。。= =
考慮可能還是因爲配置文件中沒有設置hadoop.tmp.dir等臨時路徑所致
於是做如下嘗試,將兩個配置文件中原本出錯的路徑修改爲絕對路徑,配置文件具體如下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/Softwares/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/Softwares/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/Softwares/hadoop/tmp/dfs/data</value>
</property>
</configuration>
重新-format一下 OK start一下 也OK 並且沒有再出現namenode自動掛掉的狀況
虛擬機重啓一下 直接start也依舊OK
嚶嚶嚶 問題解決
不過具體原理沒弄明白- -懇請賜教啦