由一个HADOOP_HOME and hadoop.home.dir are unset报错引起的window环境连接调试远程hadoop的一系列问题
2017-07-23 22:35
274 查看
这篇准确来说不是搭建hadoop开发环境,而是指windows10连接到centos下hadoop集群进行开发遇到的一系列问题,仅此而已!如果你有兴趣搭建hadoop集群,可以参考这里。
eclipse中已添加hadoop-eclipse-plugin-2.7.jar(不是2.8的插件jar包,请注意)。并且在eclipse中配置了map/reduce对应的hadoop的一些基本配置信息。如下面两张图
上图中的advanced parameters中仅修改了hadoop.tmp.dir属性,改为我在linux中的/usr/local/hadoop-3.0.0-alpha4/data的路径而已。其他属性都是默认值。
当我运行这个java文件的时候,报错“HADOOP_HOME and hadoop.home.dir are unset”。然后我就懵逼了。
其实答案是:是的。我倒霉就倒霉在没有在本地放一个hadoop。只需要找一个hadoop3.0.0的二进制包(官网上这个东西大概400多兆),解压放到你windows下的某处即可。
然后重点在这里,仅仅解压缩了这个hadoop的包还不够,还需要这俩东西:hadoop.dll和winutils.exe下载链接及其附属(hadoop.exp、hadoop.lib、hadoop.pdb、libwinutils.lib、winutils.pdb)。缺少会报错,我在报错前已经把这俩及其相关的东西都放上了,所以不知会报啥错。再说一点如果版本不一致会报java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V错误
有点扯远了,还说在本地放hadoop程序包的问题。只要解压了程序包,同时在你的环境变量中的系统变量中配置了HADOOP_HOME并且指向hadoop程序包的本目录即可(如我本机就是E:\tools\apache\hadoop),并且在系统变量的path中附加了%HADOOP_HOME%\bin及%HADOOP_HOME%\sbin就能在你的windows上运行hadoop程序了。如果还不行则重启电脑试试。
环境
我已经在Linux服务器上安装了分布式的hadoop环境,一namenode两datanode。eclipse中已添加hadoop-eclipse-plugin-2.7.jar(不是2.8的插件jar包,请注意)。并且在eclipse中配置了map/reduce对应的hadoop的一些基本配置信息。如下面两张图
上图中的advanced parameters中仅修改了hadoop.tmp.dir属性,改为我在linux中的/usr/local/hadoop-3.0.0-alpha4/data的路径而已。其他属性都是默认值。
当我运行这个java文件的时候,报错“HADOOP_HOME and hadoop.home.dir are unset”。然后我就懵逼了。
解决步骤
我一直认为,我本地的eclipse就是个调用远程hadoop的作用,所以本地的windows操作系统中不需要安装hadoop了。所以我看到这个HADOOP_HOME的时候一直不明白,难道我还需要在我本地安装一个hadoop吗????其实答案是:是的。我倒霉就倒霉在没有在本地放一个hadoop。只需要找一个hadoop3.0.0的二进制包(官网上这个东西大概400多兆),解压放到你windows下的某处即可。
然后重点在这里,仅仅解压缩了这个hadoop的包还不够,还需要这俩东西:hadoop.dll和winutils.exe下载链接及其附属(hadoop.exp、hadoop.lib、hadoop.pdb、libwinutils.lib、winutils.pdb)。缺少会报错,我在报错前已经把这俩及其相关的东西都放上了,所以不知会报啥错。再说一点如果版本不一致会报java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V错误
有点扯远了,还说在本地放hadoop程序包的问题。只要解压了程序包,同时在你的环境变量中的系统变量中配置了HADOOP_HOME并且指向hadoop程序包的本目录即可(如我本机就是E:\tools\apache\hadoop),并且在系统变量的path中附加了%HADOOP_HOME%\bin及%HADOOP_HOME%\sbin就能在你的windows上运行hadoop程序了。如果还不行则重启电脑试试。
总结
本地的hadoop其实真的真的没有参与干活儿。因为我连启动都没启动过本地的hadoop。建议大家选择hadoop版本时选一个比较多人用的版本。相关文章推荐
- 由一个HADOOP_HOME and hadoop.home.dir are unset报错引起的window环境连接调试远程hadoop的一系列问题,hadoop版本 2.8
- vmare Ubuntu 下Hadoop 开发环境搭建eclipse win10 远程连接 安装与问题处理
- android真机调试问题 Adb connection Error:远程主机强迫关闭了一个现有的连接
- Eclipse调试问题 adb connection Error:远程主机强迫关闭了一个现有的连接
- 利用eclipse远程调试模式搭建一个调试hadoop源码的环境
- eclipse连接远程hadoop集群开发时权限不足问题解决方案
- 3389远程连接问题的一个解决办法
- Oracle在RAC环境下远程客户端连接的问题
- 配置windows下远程连接hadoop的问题
- hadoop0.23 的代码编译与Eclipse环境下调试 问题
- 【转载】redHat linux下安装hadoop 0.20.2, 并在windows下远程连接此hadoop,开发调试
- 解决“Adb connection Error:远程主机强迫关闭了一个现有的连接”的问题
- eclipse连接远程hadoop集群开发时0700问题解决方案
- eclipse连接远程hadoop集群开发时权限不足问题解决方案
- eclipse连接远程hadoop集群开发时0700问题解决方案
- tomacat环境中javabean调试中的一个小问题困扰了我一天---一叶障目不见泰山
- eclipse调试远程主机node.js无法连接的问题
- RedHat linux下安装hadoop 0.20.2, 并在windows下远程连接此hadoop,开发调试
- .net WCF 套接字连接中断,可能是由于消息处理错误,或者远程宿主接受超时引起,或者是底层网络资源问题导致,本地套接字时间
- 真机调试,远程主机强迫关闭了一个现有的连接