UnsatisfiedLinkError (NativeIO$Windows.access0) 当从 Windows 向 ubuntu 提交 mapreduce job to hadoop 2.2 时
我将我的mapreduce作业从Windows上运行的java应用程序提交到在ubuntu上运行的hadoop 2.2集群。在hadoop 1.x中,这按预期工作,但在hadoop 2.2上,我得到一个奇怪的错误:
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
我编译了必要的Windows库(hadoop.dll和winutils.exe),并且可以通过代码访问hdfs并使用hadoop API读取集群信息。只有作业提交不起作用。
任何帮助都是有益的。
解决方案:我自己发现了它,可以找到Windows hadoop二进制文件的路径必须添加到Windows的PATH变量中。