一:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 二:(null) entry in command string: null chmod 0700
第一步:按照网上的方法本地hadoop的bin目录下缺少hadoop.dll 和 winutils 这两个东西,经过一顿操作把这两个文件放到hadoop的bin目录下依然不行
这一步的时候我很疑惑,因为在环境变量中PATH引用了hadoop的bin目录,为什么hadoop.dll会读不到呢,不管了经过一顿操作重启了几遍依然不行,
这个时候也很疑惑但是一顿操作重启好几次依然不行
这个时候也很懵逼,搞个hadoop还要改源码??官方代码不好使,这么水的吗???反正一顿操作还是不行
System.setProperty("hadoop.home.dir","hadoop的文件路径" );依然花里胡哨搞了一遍没用
System.load("D:\hadoop2.7.5\bin\hadoop.dll");这个看起来有些靠谱但就这个时候发现一个没见过的错误
Can't load AMD 64-bit .dll on a IA 32-bit platform 翻译:无法在IA 32位平台上加载AMD 64位.dll
这个错误直接把我搞蒙了,因为本机是64位怎么会识别成是32位的呢。
把hadoop.dll和winutils放到这个目录下重启依然报错
Can't load AMD 64-bit .dll on a IA 32-bit platform这个问题描述的32位指的不是本机而是运行环境,打开cmd窗口,输入java -version发现jdk是32位的(没有显示64-Bit就代表是32位的) ,打开Linux检查java版本是64位,这个时候卸载32位的jdk,安装64位版本,WordCount运行成功
