我还需要做什么来设置libhdfs (c++)

What do I need to do additionally to set up libhdfs (for c++)?

本文关键字:libhdfs 设置 c++ 什么      更新时间:2023-10-16

我是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。所以(如果你使用的是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。所以图书馆。这可以做到,例如,通过从源代码下载Hadoop并自己构建一个发行版(一个有用的介绍可以在这里找到:http://csrdu.org/nauman/2014/01/23/geting-started-with-hadoop-2-2-0-building/)。

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

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