Hadoop集群中hosts文件配置问题

最近一直在做hadoop的应用,但是无奈于并行加速比一直不理想,两台机器运行的时间和一台机器运行的时间差不多,老师还一直要这个数据,并行计算比至少应该为1.5,这样的并行程序才有意义。

加了个qq群,发现了问题所在,再说我解决方法之前,先说一下我hadoop集群的配置:

2台笔记本,其中1台为lenovo z460,CPU为Core i3,主机名为:liujiacai-Ideapad-Z460;另一台是Acer  Aspire 4743 CPU为奔腾P6200,主机名为:liujiacai-Aspire-4743。

系统都装的是ubuntu13.04。

我直接用网线把两台机器连起来,手动指定IP,其中Lenovo的机器的ip为 202.194.124.24,Acer的机器ip为202.194.124.75,子网掩码都是255.255.255.128,网关202.194.124.126(其实这个网关应该不起作用,因为我不连外网)。

我先按照全分布式配置方式搭建好环境,然后开始运行hadoop程序,问题就是并行加速度差不多为1,后来在QQ群问了一个,发现是我在配置conf/slave文件时只指定了一个ip(这里为202.194.124.75,202.194.124.24配在了conf/master文件里面了),然后我忽略了一个问题:只有机器上运行datanode进程才能运行job,namenode根本不会作为mapper和reduer来运行job(其实都是最基本的概念,我都没注意发火)。

现在我把202.194.124.24也加入到conf/slave文件中,这样hadoop集群中就可以真正运行了,但是运行到一半reduce停止不允许了,打开http://localhost:50030,发现又报错了,看了日志是liujiacai-Aspire-4743主机名找不到,后来上网查,发现需要把集群中所有集群中的主机名与ip配置到hosts文件中。

每台机器必须都配置,然后一些博客上还说把127.0.0.1 localhost 注释掉,说要不然会报错的,我没去掉也没遇到那个错误,这个就不管了,有可能是版本的问题吧。改为hosts文件后运行程序还是报错,是什么127.0.1.1的问题,又google了一下,说是ubuntu把的127.0.1.1 作为本机的回路测试地址,我机器上有这么一行

127.0.1.1 liujiacai-Ideapad-Z460

这样的话当hadoop机器中看到liujiacai-Ideapad-Z460主机名是就直接对于到127.0.1.1机器了,而不是机器在集群中的ip了(我这里是202.194.124.24)把127.0.1.1这一行也注销掉就可以了。这样所以的配置文件就算是改好了。但是~~~~~~~~

运行到一半就报错了,说是202.194.124.75连接不上了,我很郁闷 ,然后在202.194.124.24上ping 202.194.124.75,竟然ping不通了,在开启hadoop程序是还是ping通的,把网线拔一下再插上就又能ping通了,而且机器中两个datanode也都能运行job了,我还怀疑是网线口松了吧,但是看看电脑网线口也还有灯亮,换了一根网线还是出现相同的问题,我都让整吐了,现在就是守在电脑旁边看它运行,发现运行慢了就把网线拔下来再插上~~~~~~抓狂抓狂~~~~~~~

功夫不负苦心人,这样得到的加速比是1.8了,但是这网线问题到底是什么问题我还不清楚,估计不是什么网络不好这么一类回答就能搪塞过去的,这点记下了回来探讨吧。


PS:在配置ssh免密码登陆时,有时安装一般方式操作后还是不能行,还是需要密码,我也按照网上说的把文件的权限改成什么700、600之类的,但是都是不起作用鄙视,不知道神马情况~~~~~(我当时出现这种情况用的是ubuntu12.10)

还好在ubuntu13.04中没出现这种情况,ssh免登陆正常,再次感谢无私奉献的ubuntu团队。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值