ssh:无法解析主机名名称或服务未知

9wbgstp7  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(1485)

我正在尝试在我的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/conf/slaves的第一个示例文件中:

localhost
node2

当我启动脚本bin/start-dfs.sh时,它可以启动主节点上的namenode、datanode和secondary 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文件的行?我必须重新启动示例吗?

gcuhipw9

gcuhipw91#

/etc/hosts 有点像一个本地dns,当你没有一个ip地址相关联的真正的dns。
你真的需要一个 {public dns of 1st instance} node1 是否可以直接在从属和主文件中使用{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中Map这些内容。
因此,每台机器中的/etc/主机应该类似于-
机器-1:

{IP_address_1st_instance} node1
{IP_address_2st_instance} node2

机器-2:

{IP_address_1st_instance} node1
{IP_address_2st_instance} node2

而且,这是为了让amazon示例(机器)能够相互解析,如果您打算Map它们的话。

相关问题