我还需要做什么来设置libhdfs (c++)
What do I need to do additionally to set up libhdfs (for c++)?
我是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,因此不会实例化
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 嵌套在类中时无法设置成员数据
- 需要帮助设置在C++中使用的Potrace
- 如何在自删除后将对象设置为nullptr
- 将指针设置为"nullptr"并不能防止双重删除?
- 如何在Ubuntu中使用cmake设置qt4
- ld:bind_at_load和-bitcode_bundle(Xcode设置ENABLE_bitcode=YES)不能
- 如何在boost beast http请求中设置http头
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 为什么文件名被设置为一个点,而不是在读取矢量中的文件名时
- 如何在24位SDL_Surface上设置像素的颜色
- std::设置自定义比较器
- 如何设置一个范围来提取我想要获得的信息
- 如何在C/C++中用FD_set Unix设置套接字文件描述符
- 通过选项卡的文本设置QTabWidget顺序
- 将特征矩阵的向量设置为0
- 我还需要做什么来设置libhdfs (c++)