MapReduce 应用在本地调试正常,集群上跑不动

2019-02-14 16:24:48 +08:00
 lcdxiangzi

新手上路,请教问题。

自己写了一个简单的 MapReduce 应用。用来解析集群 HDFS 上面的一个文件内容。

本地在 idea 中调试,main 函数执行是正常的,很快可以跑出结果。

maven 打成 jar 包后,本地 hadoop jar 执行也是正常的。

但是拿到集群上面(一个小集群,一主二仆),再使用 hadoop jar 去运行就会一直卡住。

前面几行日志是正常打印的,但是到了

2019-02-14 16:02:34,991 INFO mapreduce.Job: Running job: job_1542766536312_0001

之后就挂在那里了,久久没有反应。

求指点,是我哪里操作有问题吗?还是可能哪里的问题?

多谢

3638 次点击
所在节点    Hadoop
7 条回复
lcdxiangzi
2019-02-14 16:25:36 +08:00
我靠,为什么发出来没有换行了。。。
lcdxiangzi
2019-02-14 16:40:18 +08:00
我登录主机看了一下资源使用率,发现确实在跑,cpu、磁盘、内存使用率都涨上去不少,但是为什么本地几秒钟跑完的任务,在上面挂了半个小时了还在跑呢,是集群的参数配置有问题吗?
tjzhaomengyi
2019-02-14 16:50:04 +08:00
看下任务状态
lcdxiangzi
2019-02-15 09:36:14 +08:00
@tjzhaomengyi 多谢,新手没方向,有方向就好弄了。
lcdxiangzi
2019-02-15 11:14:06 +08:00
https://s2.ax1x.com/2019/02/15/kD56s0.png

继续请教,我发现问题了,一个 DataNode 的主机名不识别。
但是两个主机是一起配置的,配置文件里面的 hostname 也都改成 Hslave*了。为什么一个显示,另外一个 190.52 地址的主机不显示呢?
又没有思路了,有人了解这里的主机名是哪里配置的吗?
谢谢
lcdxiangzi
2019-02-15 17:07:51 +08:00
@lcdxiangzi 自问自答,主机名问题比较妖,slave 重启了一下就 ok 了,但是重启后防火墙忘记关了,导致一个 slave 网络不通。网络调通后,任务可以正常跑了,但是一直在报错。集群上的 xml 配置有问题,具体问题还在继续查。
中间几个小插曲,集群重启,不是 datanode 起不来就是 namenode 起不来。简直了。。。。
出现问题不怕,第一反应,去看对应的日志,根据日志查问题,最靠谱。下班,下周继续
lcdxiangzi
2019-02-20 07:50:00 +08:00
这个问题搞定了,任务可以正常运行了,发现在集群上运行作业和本地单机不太一样,要多配好几个配置文件。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/534996

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX