无法ssh到Spark工作程序中



在一个特定的执行器中有8个失败的任务。我想通过ssh连接到它以查看yarn日志。

执行器地址为:ip-123-45-6-78.us-west-2.compute.internal:34265

我都试过了:

ssh ip-123-45-6-78.us-west-2.compute.internal:34265

ssh ip-123-45-6-78.us-west-2.compute.internal

但两者都会产生以下错误:

无法解析主机名ip-123-45-6-78.us-west-2.compute.internal:名称或服务未知

我还在.ssh/config文件中添加了用于连接到主设备的相同密钥对:

Host master
HostName ec2-09-876-543-21.us-west-2.compute.amazonaws.com
User hadoop
IdentityFile ~/keypair.pem
Host worker
HostName ip-123-45-6-78.us-west-2.compute.internal
User hadoop
IdentityFile ~/keypair.pem

而且ssh workerssh worker:34265都不起作用。

需要明确的是:ssh master确实有效!

Spark应用程序正在EMR集群上运行。

从主机名*.compute.internal来看,这些是内部IP地址(专用IP(,您不能从本地系统中访问ssh

您可以SSHmaster,因为您使用的是主实例的公共IP地址。也尝试使用工作者的公共IP地址,它应该可以工作。

或者可以选择通过主服务器创建ssh-tunnel,您可以尝试类似的方法

Host worker
HostName ip-123-45-6-78.us-west-2.compute.internal
User hadoop
IdentityFile ~/keypair.pem
ProxyCommand ssh master -W %h:%p

由于您在AWS VPC之外,因此无法解析您尝试连接的主机名。专用记录(作为compute.internal域一部分的记录(只有在网络的DNS通过路由53专用解析程序时才能解析。

如果你不担心解析DNS主机名,你可以尝试直接通过私人IP连接(假设你可以通过VPN连接或直接连接访问(。或者,通过具有公共入口的实例进行连接,即客户端->跳转服务器->私人主机。

如果你确实想通过私人域名解决,以下是最好的选择:

  • 入站解析程序
  • 简单AD
  • 在专有网络中设置一个基于EC2的DNS服务器

相关内容

  • 没有找到相关文章

最新更新