线程“main”中的异常java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO $ Windows.access0(Ljava / lang / String; I)Z

时间:2017-01-25 11:58:14

标签: java

在运行上述异常时尝试在eclipse中的Windows 7 64位中运行MR程序版本(2.7)。   我验证了使用64位1.8 java版本并观察到所有hadoop守护进程都在运行。

高度赞赏任何建议

10 个答案:

答案 0 :(得分:11)

此问题发生在我身上,原因是我忘记在我的环境变量中将%HADOOP_HOME%/bin附加到PATH

答案 1 :(得分:5)

除了其他解决方案,请下载 winutil.exe hadoop.dll 并添加到$ HADOOP_HOME / bin中。它对我有用。

https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin

注意:我使用的是hadoop-2.7.3版本 enter image description here

enter image description here enter image description here

答案 2 :(得分:1)

我的%HADOOP_HOME%/bin中已经有PATH,我的代码以前运行过没有错误。重新启动我的机器使它再次运行。

答案 3 :(得分:1)

haddop.dllwinutils放在hadoop/bin文件夹中并将hadoop的文件夹添加到PATH之后,我们还需要将hadoop.dll放入{{ 1}}文件夹

答案 4 :(得分:1)

尝试以上所有方法后,将 hadoop.dll 放入 windows/System32 后一切正常

答案 5 :(得分:0)

在Intellij的“运行/调试配置”下,打开要尝试运行的应用程序,在“配置”选项卡下,指定确切的工作目录。具有代表工作目录的变量也会产生此问题。当我在配置下更改工作目录时,它再次开始工作。

答案 6 :(得分:0)

对我来说,此问题已解决,方法是从https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin下载winutils.exe和hadoop.dll并将其放在hadoop / bin文件夹中

答案 7 :(得分:0)

是的,当我使用PIGUNITS实现PIGSCRIPTS的自动化时,会出现此问题。需要按顺序完成两件事:

  1. 将上述两个文件复制到一个位置,然后将其添加到PATH下的环境变量中。

  2. 要反映所做的更改,必须重新启动计算机以加载文件。

在JUNIT下,我遇到此错误,这也会对其他人有帮助:

  

org.apache.pig.impl.logicalLayer.FrontendException:错误1066:无法打开别名XXXXX的迭代器。后端错误:java.lang.IllegalStateException:状态为DEFINE而不是RUNNING的作业       在org.apache.pig.PigServer.openIterator(PigServer.java:925)

答案 8 :(得分:0)

版本错误是此问题的主要原因。将完整的hadoop版本与Java库一起使用将解决此问题,如果仍然遇到问题并使用hadoop 3.1.x版本,请使用此库下载bin

https://github.com/s911415/apache-hadoop-3.1.0-winutils/tree/master/bin

答案 9 :(得分:0)

就我而言,在将依赖项升级到 CDH6 后,在本地机器上运行单元测试时遇到了这个问题。我已经正确配置了 HADOOP_HOMEPATH 变量,但我必须按照其他答案中的建议将 hadoop.ddl 复制到 C:\Windows\System32

相关问题