我正在尝试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/