用C++(libhdfs)编写HDFS文件

7
我将尝试使用libhdfs.so在C++中编写一个接口,以便在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;
 }

运行时提供以下错误:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

已相应地更新了CLASSPATH,但仍出现此错误。 有任何想法我遗漏了哪个步骤吗? 所有的.so文件都已正确链接。


我想这与C++代码无关。为什么要涉及Java?无论它在哪里 - 那就是问题所在。 - jheriko
检查您的Java安装,参见https://dev59.com/6Ggt5IYBdhLWcg3wywdJ。 - usr1234567
@jheriko Hadoop是一个Java应用程序。 - aalku
1个回答

1
你可以使用以下命令查找hadoop所需的java类路径 $hadoop classpath
然后将所有这些路径添加到环境变量CLASSPATH中 $export CLASSPATH=$CLASSPATH:`hadoop classpath`
这里是CDH4的libhdfs示例,注意exec.sh中的环境设置 Here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接