簡體   English   中英

hadoop-2.2.0 mapreduce無法在ubuntu上運行

[英]hadoop-2.2.0 mapreduce not working on ubuntu

我已經在64位Ubuntu 12.04.3(精確)上安裝了hadoop 2.2.0,並按照博客中的建議配置了配置xml文件( http://tuliodomingos.blogspot.com.es/2013/04/installing-apache -hadoop-in-ubuntu-linux.html(如果您有興趣)

目的是為dfs和mapreduce提供一個“單節點群集”。

因為缺少某些庫,所以我經常收到以下消息,但我認為這不會引起問題:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

[我嘗試了從Maven構建的版本,但對實際發生的事情感到非常困惑。 在編譯的迭代之間似乎有迭代,我對發生的事情一無所知。]

無論如何,使用我下載的(非Maven的)hadoop,分布式文件系統似乎可以正常運行。 但是,當我嘗試按照教程運行WordCount mapreduce示例時,我陷入了困境。 作業提交正常,但是它們似乎從未真正運行過。 附件“ mr_output.txt”是終端中返回的內容。

另外,查看本地監視站點(對不起,我無法發布這些圖像),我注意到的一件事是這些站點指示活動節點為零,並且考慮到dfs操作都很好,因此我不知道發生了什么。

另外,這是hdfs dfsadmin -report的輸出:

13/11/06 14:08:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Configured Capacity: 412849389568 (384.50 GB)
Present Capacity: 134156435456 (124.94 GB)
DFS Remaining: 134152601600 (124.94 GB)
DFS Used: 3833856 (3.66 MB)
DFS Used%: 0.00%
Under replicated blocks: 1
Blocks with corrupt replicas: 0
Missing blocks: 0

-------------------------------------------------
Datanodes available: 1 (1 total, 0 dead)

Live datanodes:
Name: 127.0.0.1:50010 (localhost)
Hostname: rimmer-Inspiron-7520
Decommission Status : Normal
Configured Capacity: 412849389568 (384.50 GB)
DFS Used: 3833856 (3.66 MB)
Non DFS Used: 278692954112 (259.55 GB)
DFS Remaining: 134152601600 (124.94 GB)
DFS Used%: 0.00%
DFS Remaining%: 32.49%
Last contact: Wed Nov 06 14:08:18 EST 2013

如果我嘗試調用“ yarn resoucemanager”或“ yarn nodemanager”,則會收到一長串消息,我看到的錯誤是:

13/11/06 14:15:11 FATAL nodemanager.NodeManager: Error starting NodeManager
java.lang.IllegalArgumentException: The ServiceName: mapreduce.shuffle set in yarn.nodemanager.aux-services is invalid.The valid service name should only contain a-zA-Z0-9_ and can not start with numbers

盡管在文件“ yarn-site.xml”中將“ yarn.nodemanager.aux-services”設置為“ mapreduce.shuffle”

我已經看過很多次官方文檔,並且還對Google和論壇造成了很大的麻煩。 任何智慧都非常感激。

最好,

基蘭

由於某些原因,服務名稱的有效格式在Hadoop 2.1.0和2.2.0之間更改。

正確的值現在是mapreduce_shuffle而不是mapreduce.shuffle

cf http://hadoop.apache.org/docs/r2.2.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/PluggableShuffleAndPluggableSort.html

即使將“ yarn.nodemanager.aux-services”的值更改為“ mapreduce_shuffle”,仍然存在啟動namenode的問題。

似乎Hadoop 2.2.0只能在32位計算機上開箱即用,這是因為文件夾結構從1.2.0更改為1.2.0,現在$ HADOOP_INSTALL / lib目錄只有一組庫(可在僅32位系統)。

在1.2.0之前的版本中,該庫目錄中有兩個子目錄,分別對應於x32和x64體系結構,分別稱為“ Linux-amd64-64”和“ Linux-i386-32”。

這里有一個關於它的討論:

https://issues.apache.org/jira/browse/HADOOP-9911

還有一個頁面建議您可以在此處從x64上的源代碼進行編譯:

http://blog.csdn.net/focusheart/article/details/14058153

PS我還沒有能夠編譯沒有錯誤。 上述JIRA線程上的問題也未解決。

編輯:並且由於以上所有,除了namenode之外的所有東西都已啟動並正在運行,這就是為什么您會看到nogemanager,resourcemanager,secondarynamenode(據我所知它不能“替換” namenode)和datanode以及運行。

您是否嘗試過首先僅運行獨立模式?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM