我已经在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.nodemanager.aux-services”在文件“yarn-site.xml”中被设置为“mapreduce.shuffle”
我已经经历了很多次官方文档,也很难打谷歌和论坛。任何智慧都非常感激。
最佳,
基兰
答案 0 :(得分:4)
出于某种原因,服务名称的有效格式在Hadoop 2.1.0和2.2.0之间发生了变化。
正确的价值现在是mapreduce_shuffle
,而不是mapreduce.shuffle
答案 1 :(得分:2)
即使将“yarn.nodemanager.aux-services”的值更改为“mapreduce_shuffle”,仍然会出现获取namenode的问题。
似乎Hadoop 2.2.0仅在32位机器上开箱即用,因为文件夹结构从1.2.0开始变化,现在$ HADOOP_INSTALL / lib目录只有一组库(那些它仅适用于32位系统。)
在1.2.0的早期,在该库目录中有两个子目录,名为“Linux-amd64-64”和“Linux-i386-32”,对应于x32和x64架构。
这里有一个讨论:
https://issues.apache.org/jira/browse/HADOOP-9911
还有一个页面建议您可以在x64上从源代码编译:
http://blog.csdn.net/focusheart/article/details/14058153
P.S。我没有能够编译它没有错误。上面的JIRA线程上的问题也没有得到解决。
编辑:由于以上所有,除了namenode之外的所有内容都已启动并运行,这就是为什么你会看到nogemanager,resourcemanager,secondarynamenode(据我所知它不能“替换”一个namenode)和datanode启动并运行。
答案 2 :(得分:0)
您是否尝试首先运行独立模式?