我試圖安裝Hadoop並運行它。 而且我確定我已經成功安裝了Hadoop和格式化的namenode。 然而,當我試圖運行start-dfs.sh,我得到了以下錯誤:hadoop無法啓動start-dfs.sh
localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-wenruo-namenode-linux.out localhost: /usr/local/hadoop/bin/hdfs: line 304: /usr/local/hadoop/usr/lib/jvm/java-8-oracle/bin/java: No such file or directory
我JAVA_HOME低於:
echo $JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
我hadoop-env.sh文件:
export JAVA_HOME=${JAVA_HOME}
Hadoop仍然在尋找JDK8,因爲我已經將JAVA_HOME設置爲JDK7了?
非常感謝。
很難說沒有看到文件(哪個hadoop版本?)。在hadoop目錄中使用grep命令檢查這個路徑來自'/ usr/local/hadoop/usr/lib/jvm/java-8-oracle/bin/java',然後更新你的bashrc導出你的java並刷新你的shell。所以你會在全球範圍內擁有它。剛剛在腳本中導出之後,還爲JAVA_HOME添加一個回顯。 –
@Nicolas Fontenele嗨尼古拉斯,正如你所看到的,我回應JAVA_HOME並獲得JDK7,而不是JDK8。只是不知道爲什麼hadoop仍在尋找JDK8。 – wenruo
它證明了在當前的env中你有正確的JAVA_HOME。但是,例如,如果您從不同的shell運行hadoop,那麼它可能導出了另一個java-home。你有沒有采取我的建議從java 8 grep和更新bashrc?這是一個單一的節點設置?由於你的java本地本地,但不在其他節點,它會失敗,應該是。 –