關於java.io.IOException: HADOOP_HOME or hadoop.home.dir are not set.的問題

報錯以下:java

300 [main] DEBUG org.apache.hadoop.util.Shell - Failed to detect a valid hadoop home directory java.io.IOException: HADOOP_HOME or hadoop.home.dir are not set

 

解決辦法一:

根據 http://blog.csdn.net/baidu_19473529/article/details/54693523 配置hadoop_home變量git

下載winutils地址https://github.com/srccodes/hadoop-common-2.2.0-bin下載解壓github

 從新打開Eclipse,運行程序,能夠解決內網的Hadoop鏈接問題。(親測試經過)apache

解決辦法二:

在java程序中加入bash

System.setProperty("hadoop.home.dir", "/usr/local/hadoop-2.6.0");

依然報錯(未親測試)app

解決辦法三:(不是同一問題?)

根據該提示:oop

 

依然報錯測試

--------------------------------5.19.早晨------------------------------------------ui

今天早上再次執行該程序,將上傳到HDFS部分的代碼給註釋掉後發現日誌報錯信息以下:this

132 [main] DEBUG org.apache.hadoop.util.NativeCodeLoader - Trying to load the custom-built native-hadoop library... 134 [main] DEBUG org.apache.hadoop.util.NativeCodeLoader - Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: no hadoop in java.library.path

1)check Hadoop library:

root@Ubuntu-1:/usr/local/hadoop-2.6.0/lib/native# file libhadoop.so.1.0.0

It's 64-bite library

2)Try adding the HADOOP_OPTS environment variable:

root@Ubuntu-1:~# vi /etc/profile //environment variable
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native/"

It doesn't work, and reports the same error.

3)Try adding the HADOOP_OPTS and HADOOP_COMMON_LIB_NATIVE_DIR environment variable:

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/"

It still doesn't work, and reports the same error.

4)Adding the Hadoop library into LD_LIBRARY_PATH

root@Ubuntu-1:~# vi .bashrc 
export LD_LIBRARY_PATH=/usr/local/hadoop/lib/native/:$LD_LIBRARY_PATH

It doesn't work, and reports the same error.

5)append word native to HADOOP_OPTS like this

export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"

It doesn't work, and reports the same error.

-----------------------------------5.20早晨-------------------------

win下依舊沒法使用java代碼上傳文件到HDFS

 ----------------------------------5.24------------

copy了一份hadoop-2.6.0文件到本機,更改bin目錄和path ,顯示無效的path,遂更改回去

---------------------2017.5.26-------------------

今天早上開機 試了一下 發現它已經好了  其實上述的設置已經能夠解決大部分遇到這類問題的人羣

 

相關文章
相關標籤/搜索