在设置hadoop多节点集群之后,我运行了著名的wordcount map reduce示例。但是我没有得到任何输出,只是冻结了任务。这是我得到的。。
12/09/12 13:01:29 INFO input.FileInputFormat: Total input paths to process : 3
12/09/12 13:01:29 INFO util.NativeCodeLoader: Loaded the native-hadoop library
12/09/12 13:01:29 WARN snappy.LoadSnappy: Snappy native library not loaded
12/09/12 13:01:30 INFO mapred.JobClient: Running job: job_201209121300_0002
12/09/12 13:01:31 INFO mapred.JobClient: map 0% reduce 0%
12/09/12 13:01:45 INFO mapred.JobClient: map 33% reduce 0%
12/09/12 13:01:48 INFO mapred.JobClient: map 100% reduce 0%
12/09/12 13:01:54 INFO mapred.JobClient: map 100% reduce 11%
但是在主日志和从日志中都没有例外。但在从属任务跟踪器中,跟踪日志会连续打印。
2012-09-12 13:23:14,573 INFO org.apache.hadoop.mapred.TaskTracker: attempt_201209121300_0002_r_000000_0 0.11111112% reduce > copy (1 of 3 at 0.04 MB/s) >
在此之前,我配置了hadoop单节点,运行上面的任务,得到了成功的输出。
p、 s:1.我有两个节点,分别是主节点和从节点。两个ip地址都位于两个节点的/etc/hosts中。
2.无需密码即可ssh到每个主机和从机(无密码登录)
3.在master中运行start-dfs.sh之后,它也会在从属机中运行(我与jps进行了检查)
4这是我遵循的教程。http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/
5.两台机器都禁用防火墙。
如何解决此问题?
2条答案
按热度按时间h7wcgrx31#
我会考虑玩
mapred.reduce.slowstart.completed.maps
财产。默认情况下,它被设置为5%,这意味着当5%的Map器任务完成时,洗牌开始。你的Map器似乎已经完成了,但最后一个Map器可能会卡住,即使进度条显示100%。在这种情况下,洗牌也将挂起,因为它正在等待最后一个Map完成。除此之外,你还可以改变
mapred.reduce.parallel.copies
(#在shuffle的并行复制线程)来看看它是否更适合您的硬件。ercv8c1e2#
最后我成功了。我就是这么做的。我在运行map reduce作业时检查了错误的日志。每个作业hadoop都会生成一些位于logs/userlogs/job\u id/*中的作业日志。因此,当我检查这些日志时,我终于可以看到一些异常,这些异常被称为unknownhostexception。所以我发现了我的问题。将带有ipaddress的从属计算机名添加到my masters/etc/host,然后重新启动hadoop map reduce作业。
我们可以在ui中查看上述作业日志
1.首先转到jobtracker.jsp
2.单击作业
3.您可以查看当前正在运行的内容,或者单击map或reduce并检查日志。