报错如下:

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变量

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

重新打开Eclipse,运行程序,可以解决内网的Hadoop连接问题。(亲测试通过)

解决办法二:

在java程序中加入

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

依然报错(未亲测试)

解决办法三:(不是同一问题?)

根据该提示:

依然报错

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

今天早上再次执行该程序,将上传到HDFS部分的代码给注释掉后发现日志报错信息如下:

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.

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-------------------

今天早上开机 试了一下 发现它已经好了  其实上述的设置已经可以解决大部分遇到这类问题的人群

 

最新文章

  1. MFC编程入门之十八(对话框:字体对话框)
  2. javascript event(事件对象)详解
  3. Arch Linux PDF格式文件无法显示中文
  4. Sublime Text 3 配置Java开发
  5. NuGet学习笔记(1) 初识NuGet及快速安装使用
  6. CentOS 6.5 下安装 Kibana5
  7. P1379 八数码问题
  8. Android开发错误信息收集
  9. vi / vim 删除以及其它命令
  10. C++标准程序读书笔记-第三章错误和异常处理
  11. 【【分享】深入浅出WPF全系列教程及源码 】
  12. 使用bootstrap的插件实现模态框效果
  13. Spring3.0配置多个事务管理器(即操作多个数据源)的方法
  14. 从VGA到GPU!细数二十年显卡发展历程
  15. CentOS 7 最小安装网络配置
  16. Android串口通信(Android Studio)
  17. js点击回到顶部
  18. 微信小程序开发小技巧——单击事件传参、动态修改样式、轮播样式修改等
  19. mysql--SQL编程(关于mysql中的日期) 学习笔记2
  20. Spring Boot 使用IntelliJ IDEA创建一个web开发实例(五)

热门文章

  1. Working with the Dynamic Type in C#
  2. c++之enum的好处与 define 的区别
  3. IE快捷键
  4. Webpack Loaders
  5. 使用ddns搭建免费服务器
  6. js 中的正则表达式RegExp
  7. sqlserver 数据库迁移
  8. tomcat指向外部项目
  9. CRM销售管理功能
  10. 填坑专记-手脱FSG壳