我已经在64位Linux上设置了运行Hadoop 2.1 beta的集群。但是,每次我运行hadoop命令工具时,都会 pop 警告消息:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for
your platform...
using builtin-java classes where applicable

然后我发现它缺少64位linux的 native 库。官方的hadoop 2.1压缩包仅在/lib/native文件夹中提供32位linux的 native 库。

我读了Hadoop原生库的official document,该指南说:
Once you installed the prerequisite packages use the standard hadoop
build.xml file and pass along the compile.native flag (set to true) to
build the native hadoop library:

$ant -Dcompile.native=true <target>

我搜索hadoop文件夹,没有名为build.xml的文件。没有足够的Java编程和hadoop知识,所以我想知道如何为64位linux系统编译 native 库?谢谢。

最佳答案

构建系统已更改为Maven。您可以在此处找到构建说明:
https://svn.apache.org/repos/asf/hadoop/common/trunk/BUILDING.txt

具体来说,您可以运行以下命令:
mvn软件包-Pdist,native,docs -DskipTests -Dtar

(一旦您安装了protobuf 2.5.0)

关于java - 如何为Hadoop 2构建 native 库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18604720/

10-16 10:32