配置Hadoop 僞分佈式 _NameNode格式化問題_解決方案

【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

嚶嚶嚶 問題解決

不過具體原理沒弄明白- -懇請賜教啦






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章