DataNode可以';不要在Hadoop 2.2中与NameNode对话

DataNode可以';不要在Hadoop 2.2中与NameNode对话,hadoop,amazon-ec2,Hadoop,Amazon Ec2,我正在建立一个Hadoop2.2集群。我已经成功地配置了主设备和从设备。在主机上输入start dfs.sh和start warn.sh时,所有守护进程都会正确启动 具体而言,在主机上,以下各项正在运行: 数据节点 节点管理器 名称节点 资源经理 次要名称节点 在从属设备上,以下各项正在运行: 数据节点 节点管理器 当我打开http://master-host:50070我看到只有1个“活动节点”,它指的是主节点上的数据节点 从机上的datanode已启动,但无法告诉主机它已启动。这是我

我正在建立一个Hadoop2.2集群。我已经成功地配置了主设备和从设备。在主机上输入
start dfs.sh
start warn.sh
时,所有守护进程都会正确启动

具体而言,在主机上,以下各项正在运行:

  • 数据节点
  • 节点管理器
  • 名称节点
  • 资源经理
  • 次要名称节点
在从属设备上,以下各项正在运行:

  • 数据节点
  • 节点管理器
当我打开
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是开放的
  • 两个节点都可以通过ssh相互连接
  • 两个节点可以相互ping

非常感谢您的建议。

我的问题在主机文件中:

从机和主机上的主机文件需要相同(它们相同):

127.0.0.1 localhost
<master internal ip> master
<slave internal ip> slave
127.0.0.1本地主机
主人
奴隶
对于AWS,您需要使用类似于xx.xxx.xxx.xxx的内部ip(不是ec2-xx-xx-xxx.AWS.com中的外部ip,也不是ip xx-xx-xxx)


此外,core-site.xml应将hdfs的位置称为
http://master:9000

我的问题在主机文件中:

从机和主机上的主机文件需要相同(它们相同):

127.0.0.1 localhost
<master internal ip> master
<slave internal ip> slave
127.0.0.1本地主机
主人
奴隶
对于AWS,您需要使用类似于xx.xxx.xxx.xxx的内部ip(不是ec2-xx-xx-xxx.AWS.com中的外部ip,也不是ip xx-xx-xxx)


此外,core-site.xml应将hdfs的位置称为
http://master:9000

是http吗?还是你的意思hdfs://master:9000?Is 是http?还是你的意思hdfs://master:9000?