用C++(libhdfs)在hdfs中编写文件

use*_*713 7 c++ java hadoop hdfs

我试图用C++编写一个接口,用libhdfs.so在hdfs中写文件.我的目标hadoop版本是2.0.2-alpha

以下代码

 hdfsFS fs = hdfsConnect("127.0.0.1",8020);
 if (!fs)
 {
    printf("Hadoop file system returned null. \n");
    return 0;
 }
Run Code Online (Sandbox Code Playgroud)

运行时提供以下错误:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
Run Code Online (Sandbox Code Playgroud)

相应地更新了CLASSPATH但仍然出现此错误.知道我在这里缺少的步骤是什么?所有.so文件都正确链接.

Rab*_*ang 1

您可以使用以下命令查找hadoop所需的java类路径

$hadoop 类路径

并将所有这些路径添加到环境变量 CLASSPATH

$export CLASSPATH=$CLASSPATH:`hadoop 类路径`

是 CDH4 的 libhdfs 示例。注意exec.sh中的环境设置