无法设置与 Amazon EC2 的连接并运行 pig

无法设置与 Amazon EC2 的连接并运行 pig

我已经创建了 EC2 密钥对并将其保存到 Mac 上我的主目录下的一个位置。我还使用“chmod 600 /path/to/saved/keypair/file.pem”更改了权限。现在我按照以下说明在 EC2 上运行 pig:

要设置并连接到 pig 集群,请执行以下步骤:

  • http://console.aws.amazon.com/elasticmapreduce/home如果需要的话请签到。
  • 点击“创建集群”。
  • 输入“数据科学作业集群”或任何您希望的内容作为集群名称。
  • 取消选中“日志记录”框以将其禁用。
  • 向下滚动到软件配置并选择 AMI 版本 2.4.2(我们将使用 Hadoop 1.x 以兼容 Pig 版本)
  • 向下滚动到“安全和访问”并选择您上面创建的密钥对。
  • 滚动到底部并选择“创建集群”
  • 在下一页上,将显示有关您的集群的信息。它将以“正在启动”状态开始,可能需要几分钟才能完全启动。
  • 集群启动后,您将看到“主公共 DNS”名称,格式为 ec2-XX-XXX-X-XXX.compute-1.amazonaws.com。记下此名称;我们将其称为 master.public-dns-name.amazonaws.com。
  • 现在,您可以连接到集群并运行 Pig 作业。从终端使用以下命令:$ ssh -o "ServerAliveInterval 10" -i /path/to/saved/keypair/file.pem [电子邮件保护]

完成此操作后,我按下回车键后只会收到“>”提示。此外,如果我在“>”提示下输入 pig,则会在下一行再次收到“>”提示,即没有“grunt”提示。我已检查我的 Mac 上是否安装了 ssh,并且已为所有用户启用了远程登录。这里似乎有什么问题?

答案1

如果您设法通过 ssh 连接到集群的主实例,则在提示符中输入“pig”应该会产生一些结果(grunt 提示符或某种错误消息)。您是否确保 EMR 集群上安装了 pig?(我在您的指示中没有看到它)

答案2

问题似乎是由 ssh 命令中的 EC2 密钥对的路径名生成的。我的密钥对在桌面上。因此,之前,我尝试从 HOME$ 提示符执行 ssh 命令,并在说明的最后一步中将 ssh 命令中的密钥对文件的路径名指定为“/desktop/key-pair-filename.pem”,但它不起作用。

但随后,我在终端窗口中切换到桌面目录。之后,我执行了 ssh 命令,这次只需输入“key-pair-filename.pem”而不是“/desktop/key-pair-filename.pem”,它就可以正常工作了。

相关内容