gpt4 book ai didi

java - 将 mapreduce 作业提交到 hadoop 2.2 从 windows 到 ubuntu 时出现 UnsatisfiedLinkError (NativeIO$Windows.access0)

转载 作者:可可西里 更新时间:2023-11-01 12:42:10 26 4
gpt4 key购买 nike

我将 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变量中。

最佳答案

  1. Get hadoop.dll(或 libhadoop.so on *x)。确保将位数(32 位与 64 位)与您的 JVM 相匹配。
  2. 确保它可以通过 PATHjava.library.path 获得。

    请注意,设置 java.library.path 覆盖 PATH。如果您设置了 java.library.path,请确保它是正确的并且包含 hadoop 库。

关于java - 将 mapreduce 作业提交到 hadoop 2.2 从 windows 到 ubuntu 时出现 UnsatisfiedLinkError (NativeIO$Windows.access0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20584157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com