gpt4 book ai didi

java - 我还需要做什么来设置 libhdfs(对于 C++)?

转载 作者:可可西里 更新时间:2023-11-01 14:58:53 29 4
gpt4 key购买 nike

我是 hadoop 的新手,我安装了 hadoop。 Datanode、Namenode等都上来了,一切顺利。我必须单独下载 libhdfs 还是它包含在包中?我只能看到它的 Java 内容。非常感谢。

最佳答案

有一个例子:http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-hdfs/LibHdfs.html (虽然一些信息,众所周知如何制作这个例子,已经过时了)

为了编译它,您需要包含 $HADOOP_HOME/include 目录并链接到 $HADOOP_HOME/lib/native/libhdfs.so(如果您使用的是 Linux)。此外,您还需要确保在运行示例时,CLASSPATH 包含所有 hadoop 库。这样做的技巧之一:

for file in `hadoop classpath | tr ':' ' ' | sort | uniq`
do
export CLASSPATH=$CLASSPATH:$file
done

注意事项:

0) 最新的 Hadoop Linux 发行版 (2.4.1) 包括 32 位共享库,这让 64 位系统提示。为了让这个例子在 64 位系统上运行,你必须提供原生的 libhdfs.so 库。例如,这可以通过从源代码下载 Hadoop 并自己构建一个发行版来完成(可以在此处找到有用的介绍:http://csrdu.org/nauman/2014/01/23/geting-started-with-hadoop-2-2-0-building/)。

1) 在 Ubuntu 上,您必须在调用 libhdfs 之前自己(通过 JNI)实例化 jvm,因为 libhdfs 代码错误地将 YamVM 识别为正在运行的 JVM,因此不会实例化

2) 在 RedHat 上,如果在 datanode 和 namenode 重启后没有使用 hdfs,我看到这个例子挂起。

关于java - 我还需要做什么来设置 libhdfs(对于 C++)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23834824/

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