求各位大神解答,我先说一下我的思考。
我是这样分配的:
电脑A:master HDFS 运行节点1
电脑B:运行节点2
局域网络:小米路由器(根据hdfs上传速度……我估计内网是2m/s)
1.集群搭建好了,然后我用单台电脑A运行获得时间,再用多台执行获得时间,竟然比单台要慢,慢多了。
2.通过查询执行时的记录,我发现电脑B一开始是分配任务的,但是map任务都会失败,被杀掉,再交给a执行。
3.进一步实验,我发现单独用B电脑执行(注意hdfs在A上),会报错,什么错呢?找不到文件!无法加载!我开始怀疑是不是网速原因,不能立即把分块传到B上。
4.再实验,发现B电脑可以完成最终的reduce过程,但是!死慢死慢,查询记录,发现reduce-copy这一步非常非常慢。
好啦,各位大神。。我的问题就是,hadoop集群是不是对于网速慢的局域网,就不能正常工作?
运行获得时间是什么意思?
执行一个mapreduce任务,任务所执行的时间?
至于对网络,是局域网就行,也就是可以相互ping通就成。不一定非得能够访问外网。
在使用虚拟机的时候,完全可以使用主机模式,不访问外网。