Hadoop ssh:无法解析主机名。名称或服务未知
我正在尝试在我的amazon实例上,在一个2节点集群上设置hadoop。每个实例都有一个公共dns,我使用它来引用它们。因此,在两台机器上的/etc/hosts文件中,我附加了如下行:Hadoop ssh:无法解析主机名。名称或服务未知,hadoop,ssh,amazon-web-services,amazon-ec2,hosts,Hadoop,Ssh,Amazon Web Services,Amazon Ec2,Hosts,我正在尝试在我的amazon实例上,在一个2节点集群上设置hadoop。每个实例都有一个公共dns,我使用它来引用它们。因此,在两台机器上的/etc/hosts文件中,我附加了如下行: {public dns of 1st instance} node1 {public dns of 2st instance} node2 我还可以通过执行以下操作从另一个实例ssh到每个实例: ssh {public dns of the other instance} 在第一个实例文件的hadoop/co
{public dns of 1st instance} node1
{public dns of 2st instance} node2
我还可以通过执行以下操作从另一个实例ssh到每个实例:
ssh {public dns of the other instance}
在第一个实例文件的hadoop/conf/slaves中,我有:
localhost
node2
当我启动脚本bin/start-dfs.sh时
它能够在主节点上启动namenode、datanode和辅助namenode,但它表示:
node2: ssh: Could not resolve hostname node2: Name or service not known
如果我尝试,它打印出来的内容相同:
ssh node2
我想问题是如何告诉它将node2与第二个实例的公共dns关联。仅仅附加
{public dns of 2st instance} node2
到/etc/hosts文件的行?
我必须重新启动实例吗?
/etc/hosts
当您没有与IP地址关联的真实DNS时,其行为类似于本地DNS
如果您可以在从属文件和主文件中直接使用{public dns of 1st instance}节点1映射,您真的需要{public dns of 1st instance}吗
此外,最好使用amazon实例的私有IP地址,而不是使用公共IP地址。您可以在每个实例的终端中执行ifconfig
,并确定它们的私有IP地址(如果有)。它们基本上是从10.x.x.x/172.x.x.x/192.x.x.x开始的?然后,您可能可以在每个amazon实例的/etc/hosts中映射这些内容
因此,每台机器中的/etc/hosts应该类似于-
机器1:
{IP_address_1st_instance} node1
{IP_address_2st_instance} node2
机器2:
{IP_address_1st_instance} node1
{IP_address_2st_instance} node2
而且,这是为了让亚马逊实例(机器)能够相互解析,如果您打算映射它们的话。直接在主文件和从文件中使用公共dns不会有问题。至于使用私有ip,在看到您的答案之前,我刚刚用/etc/hosts文件中相应的私有ip替换了公共dns,但它给了我相同的错误。但是我确实使用了ip-10.x.x,而不是10.x.x.x,这可能是问题所在吗?如果我使用ssh ip-10.x.x.x,我可以使用私有ip进行ssh,但不是ssh 10.x.x.x.x“但我确实使用了ip-10.x.x.x,而不是10.x.x.x”-我没有理解你的意思?aws控制台告诉你私有ip,但在地址前面有“ip-”