7

我正在尝试用 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;
 }

运行时提供以下错误:

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

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

4

1 回答 1

1

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

$hadoop 类路径

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

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

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

于 2013-12-04T22:04:42.157 回答