2011-06-06 177 views
1

我試圖運行單詞計數的在C++例如像這樣的鏈接描述做的方式: Running the WordCount program in C++。彙編工作正常,但是當我試圖運行我的程序,錯誤出現了:WORDCOUNT C++的Hadoop管道不起作用

斌/ Hadoop的管道-conf ../dev/word.xml - 輸入 - 輸出testtile.txt單詞計數出
11/06/06 14:23:40警告mapred.JobClient:沒有工作jar文件集。用戶類別可能不是
。請參閱JobConf(Class)或JobConf#setJar(String)。
06年11月6日14點23分40秒INFO mapred.FileInputFormat:總輸入路徑的過程:1
06年11月6日14點23分40秒INFO mapred.JobClient:正在運行的作業:job_201106061207_0007
11/06/06 14:23:41信息mapred.JobClient:map 0%reduce 0%
11/06/06 14:23:53信息mapred.JobClient:Task Id:attempt_201106061207_0007_m_000000_0,Status:FAILED
java.io.IOException
在org.apache.hadoop.mapred.pipes.OutputHandler.waitForAuthentication(OutputHandler.java:188) 在org.apache.hadoop.mapred.pipes.Application.waitForAuthentication(Application.java:194) 在org.apache .hadoop.mapred.pipes.Applica (Application.java:149) at org.apache.hadoop.mapred.pipes.PipesMapRunner.run(PipesMapRunner.java:68) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:435 ) at org.apache.hadoop.mapred.Child org.apache.hadoop.mapred.MapTask.run(MapTask.java:371) $ 4.run(Child.java:259) at java.security.AccessController。在org.apache.hadoop上的org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059) ()方法.mapred.Child.main(Child.java:253)
attempt_201106061207_0007_m_000000_0:服務器無法驗證。退出

我在兩個節點上運行的Hadoop在Fedora,我跟着從該鏈接的配置說明:Running Hadoop on multi-node cluster。我試過的Hadoop wordcount的例子與命令:

斌/ Hadoop的罐子Hadoop的例子,0.20.203.0.jar單詞計數testtile.txt單詞計數出

而且該命令工作正常。這就是爲什麼我不明白爲什麼我的程序不起作用。所以我希望有人對我做錯了什麼有所瞭解,或者有人已經解決了這個錯誤。

回答

1

我不知道有沒有回答我的問題通過這種方式,或編輯我的問題。無論如何,我找到解決方案,我只是想告訴它誰會得到相同的錯誤。

後的研究幾天試試,我的理解是Fedora和C++的64位Hadoop的是不是一個很好的匹配。我試圖編譯Hadoop wordcount C++,像在wiki中解釋的那樣。但螞蟻給我一些關於:libssl和stdint的錯誤。

首先,如果你是在Fedora上,你必須-lcrypto添加到LIBS變量在.configure。這是因爲鏈接到libssl時,現在必須在這些平臺上明確聲明對libcrypto的依賴(請參閱bug on Fedora)。

第二期:螞蟻產生了對C++的文件很多錯誤的:解決你只需要添加一個包括:對文件的頂部stdint.h

然後構建成功。然後我嘗試在我的Hadoop集羣上運行wordcount示例,並且它可以正常工作,而我卻沒有。我期望這個問題來自我剛纔糾正的庫,我是對的:我試圖從hadoop安裝目錄中運行Hadoop示例庫,但它不起作用,並且出現相同的錯誤。

這可以解釋爲ant重新編譯Hadoop所需的C++庫(並進行了更正)並使用它,而是使用庫在Hadoop安裝目錄中提供。

+0

歡迎來到SO!如果你沒有得到其他可以接受的答案,如果你自己找到解決方案,那麼你很樂意回答你自己的問題。感謝您的跟進。 – DarthJDG 2011-06-10 07:55:44