2013-11-01 77 views
0

我正在设置hadoop 2.2群集。我已成功配置主控和从属。当我在主设备上输入start-dfs.shstart-yarn.sh时,所有守护进程都会正确启动。DataNode无法与Hadoop 2.2中的NameNode进行通信

具体而言,在主以下运行:

  • 数据管理部
  • 节点管理器
  • 的NameNode
  • 的ResourceManager
  • SecondaryNameNode

在从站中,以下是运行:

  • 的DataNode
  • 节点管理器

当我打开http://master-host:50070我看到只有1“活动节点”,它是指在主数据管理部。

启动从站上的datanode,但无法告诉主站它已启动。这是我能找到的唯一错误:

从/logs/hadoop-hduser-datanode.log在从属: WARN org.apache.hadoop.hdfs.server.datanode.DataNode:问题连接到服务器:EC2 -xx-xxx-xx-xx.compute-1.amazonaws.com/xx.xxx.xx.xxx:9001

事情我已经检查/验证:

  • 9001是开放
  • 两节点可以互相ping通
  • 两个节点都可以互相ping通

任何建议,非常感谢。

回答

1

我的问题是在hosts文件:

的主机上的奴隶和主人还需要文件(他们identical_:

127.0.0.1 localhost 
<master internal ip> master 
<slave internal ip> slave 

对于AWS需要使用内部IP那是类似于xx.xxx.xxx.xxx(不是在ec2-xx-xx-xxx.aws.com中的外部IP而不是在ip-xx-xx-xxx中)。

此外,核心站点。 xml应该指hdfs的位置为http://master:9000

+1

它是http吗?或者你的意思是hdfs:// master:9000? – Prasanna

相关问题