Hadoop管道(wordcount)示例失败(使用Hadoop 0.21.0)
Hadoop pipes (wordcount) example failing (with hadoop 0.21.0)
我正在尝试hadoop管道的简单字数统计示例。不幸的是,当我尝试将其运行为
时,它会出现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>
错误详细信息在这里。
任何关于如何解决这个问题的建议将是非常感激的。谢谢。
Edit1:新增用于运行。
Edit2:原来c++二进制文件不是静态链接的。修正后,我现在看到这个错误。
Edit3:添加hadoop版本正在使用。我还在这里添加了jobtracker日志的相关部分。此外,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
,似乎你的映射器是用64位编译器编译的,你确定jvm也是64位的吗?
我有一种感觉,这是64位的东西,这是导致破裂的管道。检查集群和dev机器
所以我再试一次,从头开始。这一次我更成功了。以下是我使用的代码和配置文件。
另外,下面是我用来运行作业的命令:
hadoop pipes -conf path/to/dp_hpt_conf.xml
-input /path/to/input
-output /path/to/output
/path/to/input
中的输入文件为:
$hadoop fs -ls /path/to/input
Found 3 items
-rw-r--r-- 3 dp dpgrp 25 2011-07-26 23:24 /path/to/input/bar
-rw-r--r-- 3 dp dpgrp 87 2011-07-26 23:24 /path/to/input/baz
-rw-r--r-- 3 dp dpgrp 44 2011-07-26 23:24 /path/to/input/foo
$hadoop fs -get /path/to/input/foo .
$cat foo
The quick brown fox jumps over the lazy dog
输出为:
$ hadoop fs -get /path/to/output/part-00000 .
$ cat part-00000
another 3
be 2
brown 2
dog 2
end 2
for 2
fox 2
input 2
is 3
jumps 2
lazy 2
of 2
over 2
program 2
quick 2
sentence 3
should 2
test 2
that 2
the 5
this 4
yet 2
(为不稳定的路径道歉。我的实际路径是不同的-这里的路径只是我懒惰的尝试匿名它们
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- C++:TypeDef使用元组
- 使用std::multimap迭代器创建std::list
- 从不同线程使用int64的不同字节安全吗
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么在全局范围内使用"extern int a"似乎不行?
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用Google Mock来模拟gettimeofday()
- 如何使用默认参数等选择模板专业化
- 为什么使用 "this" 指针调用派生成员函数?
- 使用新行和不使用新行读取文件
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 如何确定我已使用非编码文件到达 EOF?
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- "Error: expected a declaration" 在 Apache Hadoop源代码中使用 Visual Studio 2010
- Hadoop mapreduce使用2个mapper,1个reducer使用c++
- 如何使用Hadoop Mapreduce运行非java程序(c++ /Matlab优先)
- Hadoop管道(wordcount)示例失败(使用Hadoop 0.21.0)
- 使用来自 c++ 的 hadoop HDFS,对"hdfsConnect"的未定义引用