c++ - Hadoop管道(wordcount)示例失败(hadoop 0.21.0)

标签 c++ hadoop pipe

我正在尝试simplistic word count example for hadoop pipes。不幸的是,当我尝试按以下方式运行它时,它会出现java.lang.NullPointerException/usr/lib64/libstdc++.so.6: no version information available错误:

$ bin/hadoop pipes -Dhadoop.pipes.java.recordreader=true \
                   -Dhadoop.pipes.java.recordwriter=true \ 
                   -input <inputHDFSPath> \               
                   -output <outputHDFSPath> \
                   -program <cppBinaryHDFSPath>

错误的详细信息是here

任何有关如何解决此问题的建议将不胜感激。谢谢。

Edit1:添加了用于运行的命令。

Edit2:事实证明C++二进制文件不是静态链接的。纠正后,我现在看到this error

Edit3:添加了使用的hadoop版本。我还添加了jobtracker日志here的相关部分。此外,每个失败尝试的stderr都有:
$more /usr/local/dp/hadoop/userlogs/job_201107211831_0013/\
attempt_201107211831_0013_m_‌​000000_0/stderr 
Hadoop Pipes Exception: Aborted by driver

最佳答案

由于它正在寻找/usr/lib64/libstdc++.so.6,看来您的mapper是用64位编译器编译的,您确定jvm也是64位吗?

我感觉是这64位的东西导致管道破裂。检查集群和开发机器。

关于c++ - Hadoop管道(wordcount)示例失败(hadoop 0.21.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6838119/

相关文章:

c - 通过管道从多个子进程写入父进程

c++ - 为什么随机数生成器的位数有限制?

c++ - 在我调用 delete 之后仍然可以访问值,c++

c# - 使用 MVVM 在运行时绑定(bind)失败

c++ - 在图形 C++ (BOOST) 中寻找桥梁?

java - Hadoop如何计算不同单词的数量

hadoop - 当名称节点崩溃时,名称节点如何确定存储在哪些不同的数据 block 中?

hadoop - Pig XMLLoader:无法解析XML(转换为CSV)

c - 几乎完成了 linux shell pipe

c++ - Windows中的管道句柄如何关闭? (_pclose() 的 fclose())?