【发布时间】:2019-12-22 12:04:45
【问题描述】:
我将我的 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变量中。
【问题讨论】:
-
您好将 msvcr100.dll 文件添加到 '${HADOOP_HOME}\bin' 路径.. 我也面临同样的问题..
-
我认为stackoverflow.com/a/23959201/411846 的答案可能对您有所帮助,它显示了如何检查您的机器上是否缺少一些 MSVC 系统库。
标签: java windows ubuntu hadoop