奴隶datanode不工作在hadoop 0.20.2和奴隶无法与主@ 54310沟通

问题描述:

请你详细说明你的答案。我遇到类似的问题。我的hadoop进程运行良好。我正在使用我的Macbook笔记本电脑作为主设备,并将aws ec2实例设置为“从设备”。尽管datanode在slave中处于活动状态,但它不能运行我的进程。奴隶datanode不工作在hadoop 0.20.2和奴隶无法与主@ 54310沟通

下面

是从两个节点

在我的电脑主节点

我的/ etc/hosts文件 ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost #::1 localhost xxx master abc slave1 abc slave2

在从EC2实例

127.0.0.1本地主机

# The following lines are desirable for IPv6 capable hosts 
::1 ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 
ff02::3 ip6-allhosts 
xxx master 
abc slave1 
abc slave2 

从日志文件条目:

2016-03-18 11:04:05,826 INFO org.apache.hadoop.hdfs.server.datanode.DataNode:  STARTUP_MSG: 
/************************************************************ 
STARTUP_MSG: Starting DataNode 
STARTUP_MSG: host = 
STARTUP_MSG: args = [] 
STARTUP_MSG: version = 0.20.2 
STARTUP_MSG: build =   https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707;  compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010 
************************************************************/ 
2016-03-18 11:04:27,273 INFO org.apache.hadoop.ipc.Client: Retrying connect to  server: master/xxx:54310. Already tried 0 time(s). 
2016-03-18 11:04:48,294 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/xxx:54310. Already tried 1 time(s). 

请帮我解决这个问题,我坚持了两天。我也看了这个帖子link从aws论坛和许多其他的链接,但力量的帮助。

感谢

你不应该运行在自己的笔记本电脑的主节点,但运行在EC2上的数据节点。这是因为这些EC2服务器无法达到通过IP“10.0.0.130”你的笔记本电脑,它总是由ISP提供:

ping 10.0.0.130 
PING 10.0.0.130 (10.0.0.130): 56 data bytes 
Request timeout for icmp_seq 0 
Request timeout for icmp_seq 1 
Request timeout for icmp_seq 2 
Request timeout for icmp_seq 3 
Request timeout for icmp_seq 4 

您可以登录到您的EC2机ping的IP,它不会工作。将主节点移至ec2并确保群集中的每台计算机以及hadoop部署中的每个角色都有相互访问的权限。

+0

所以你的意思是没有其他方式可以实现本地机器和aws ec2实例之间? – Anantha

+0

顺便说一句,在互联网上发布你的ec2机器的IP地址不是很好的做法,否则黑帽黑客可能会攻击它们。 – winiex

+0

如果您的本地机器有一个ec2机器可以到达的静态IP,您的部署就没问题。 **只有在测试下才可以,从未在生产过程中。** – winiex