关于hadoop本地版启动报错,Windows.createDirectoryWithMode0(Ljava/lang/String;I)V错误解决方案

本文转载至:https://blog.csdn.net/wyxeainn/article/details/81413544


**开发环境:**win7与centos6.7-hadoop2.7.6
**错误原因:**windows编译的hadoop版本中,hadoop.dll,winutils版本与本地版的不一致,也有可能与开发时导入的jar包不一致

解决方案:
首先确定自己Windows下编译版本与开发版本一致,hadoop中的bin目录已经被windows下编译的hadoop合并(注意不是替换),有的覆盖,没有的留下,注意版本一致,确认一致后,如果依旧报异常,可以写一个静态代码块,强制读取hadoop.dll。
代码块

static {
        System.load("D:\\hadoop-2.7.6\\bin\\hadoop.dll");
    }

附上windows本地版安装教程教程

  1. 获得hadoop安装包,可以从官网下载,例如cenos-6.5-hadoop-2.6.4.tar.gz
  2. 获取windows编译的hadoop,只要有bin目录就行,可以下载源码包编译,也可以从网上下载。获取后检查bin目录,确认是否为windows编译,确认的标准就是有winutil。
  3. 将windows编译的hadoop合并到自己下载的hadoop目录,版本一定一致。
  4. 将hadoop.dll放入windows的system32文件夹下
  5. windows下配置环境变量,HADOOP_HOME和PATH
  6. 进入eclipse导入jar包,进行开发
  7. 直接在eclipse运行。
    注意:此方法不同于利用利用类似于hadoop-eclipse-plugin-2.6.0.jar这种eclipse的插件。这种插件是可以远程连接到hadoop集群,方便于与hdfs交互,而上面提供的本地版方法,不用开启集群,是完全在windows测试使用。

猜你喜欢

转载自blog.csdn.net/qq_41302130/article/details/81875205
今日推荐