虚拟机Linux socket通信异常

11 篇文章 0 订阅
1 篇文章 0 订阅

最近在做Hadoop实验。根据错误提示发现是datanode通过ipc连接不上namenode。

最后查看hadoop源码,发现是socket通信问题。网上看过很多资料,也请教了很

多人,但是没有人有类似经验,一直解决不了,现在问题解决了,权且做个记录,

方便以后的朋友。


问题:

实验环境:
宿主机均是i7处理器(8核/16G)  
虚拟机(客户机)均是VmWare workstation 8 中打开

宿主机1:
OS:win7
IP 192.168.0.47
宿主机1上虚拟机(fedora15):
datanode007:IP 192.168.0.207(bridge)
datanode008:IP 192.168.0.208(bridge)
datanode009:IP 192.168.0.209(bridge)
datanode010:IP 192.168.0.210(bridge)
datanode011:IP 192.168.0.211(bridge)
datanode012:IP 192.168.0.212(bridge)

宿主机2:
OS:win7
IP 192.168.0.48
宿主机2上虚拟机(fedora15):
namenode:IP 192.168.0.200(bridge)
datanode001:IP 192.168.0.201(bridge)
datanode002:IP 192.168.0.202(bridge)
datanode003:IP 192.168.0.203(bridge)

宿主机3:
OS:win7
IP 192.168.0.49
宿主机3上虚拟机(fedora15):
datanode004:IP 192.168.0.204(bridge)
datanode005:IP 192.168.0.205(bridge)
datanode006:IP 192.168.0.206(bridge)

症状:
1,宿主机1~3及namenode/datanode001~012两两之间都能ping通,
2,namenode/datanode001~012两两之间都能通过ssh远程登入。
3,在宿主机1上的客户机datanode007~012之间socket通信正常,通过socket程序
(sever.c/client.c)测试验证过.
4,在宿主机2上的客户机namenode/datanode001~003之间socket通信正常,通过socket程序
(sever.c/client.c)测试验证过.hadoop启动成功信息也正常,livenodes为4(namenode也
设置为slave,如果不设置,则为3)
5,在宿主机3上的客户机datanode004~005之间socket通信正常,通过socket程序
(sever.c/client.c)测试验证过.
6,在宿主机1上的客户机datanode007~012任一与宿主机2上的客户机namenode/datanode001~003
任一之间socket通信异常,通过socket程序(sever.c/client.c)测试验证失败.

7,任一两个datanode移到同一宿主机,socket通信恢复正常.
测试条件客户机防火墙关闭,宿主机/客户机都设置不代理联网,结果均相同。
实在想不出还有什么问题了。

提示:
1,各个客户机ping自己耗时0.016ms左右(直接)
2,同一宿主机内客户机两两互ping耗时0.17ms左右(直接)
3,跨宿主机之间客户机两两互ping耗时1.8ms左右(报文通过宿主机IP中转)
4,个人觉得VmWare workstation 8在bridge联网模式下并非直接联网,通过禁用
宿主机本地网卡验证过。如,禁止宿主机2本地网卡后,namenode/datanode001~003
之间两两还是能够互ping,但是显然不能ping同宿主机2,且也不能ping通其它宿主机
及任一其它宿主机上的客户机。


问题解决了,是宿主机windows防火墙和杀毒软件开着的缘故,两个都需要设置才行。

解决方案:关闭windows防火墙(如果集群是内网,那么可以
          选择关闭内网防火墙;如果是域用户的话,那么
          还需要关闭域用户防火墙)
          关闭杀毒软件(可以单独关闭网络过滤那一栏,如果
          有时间可以自己测试添加socket通信端口至非过滤列表)
          以上两个要同时设定,否则还是被过滤的。
   问题:为什么防火墙不关闭时,ssh通信完全正常,但是socket通信异常。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值