2

我已经在 64 位 Ubuntu 12.04.3(精确)上安装了 hadoop 2.2.0,并按照博客(http://tuliodomingos.blogspot.com.es/2013/04/installing-apache )中的建议配置了配置 xml 文件-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”

我已经阅读了很多次官方文档,并且也非常努力地访问了谷歌和论坛。任何智慧都非常感谢。

最好的,

基兰

4

3 回答 3

4

出于某种原因,服务名称的有效格式在 Hadoop 2.1.0 和 2.2.0 之间发生了变化。

现在正确的值mapreduce_shufflemapreduce.shuffle

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

于 2013-11-10T03:59:39.953 回答
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

PS我还没有能够编译它没有错误。上面 JIRA 线程上的问题也没有解决。

编辑:由于以上所有,除了namenode之外的所有东西都启动并运行,这就是为什么你会看到nogemanager,resourcemanager,secondarynamenode(据我所知它不能“替换”一个namenode)和datanode跑步。

于 2013-11-13T18:28:18.900 回答
0

Did you try to run just the standalone mode first?

于 2013-11-08T20:57:47.600 回答