1

我已经为我的主/从节点打开了 EC2 安全组,因此我可以从本地浏览器访问作业跟踪器界面。我使用http://MASTER-IP:9100.

一切正常,直到我尝试从任务详细信息中访问任务跟踪器日志 -http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com:9100/taskdetails.jsp?tipid=task_201212181113_0001_m_000000

我获得的链接指向内部 EC2 IP 地址,因此我无法从本地计算机访问它们(链接是http://10.116.xxx.xx:9103/tasklog?attemptid=attempt_201212181113_0001_m_000000_0&all=true

有没有办法更改 EMR 以使这些链接包含任务跟踪器的公共 IP?

谢谢!

4

3 回答 3

4

你可以很容易地做的是ssh到主节点,然后从那里你 cab 到curl这个日志位置。通常我们总是通过隧道连接到主节点并通过以下方式访问 Job tracker web iterfacehttp://localhost:9100

为了隧道,您可以执行以下操作:

ssh -i your-pem-file.pem -L 9100:ec2-xx-xx-xx-xx.computamazonaws.com:9100 hadoop@ec2-xx-xx-xx-xx.compute-1.amazonaws.com

然后通过简单的方式访问日志curl,例如:

$ curl http://10.116.xxx.xx:9103/tasklog?attemptid=attempt_201212181113_0001_m_000000_0&all=true

您还可以登录到您的 aws 控制台并在那里查找正在运行的 ec2 实例的列表。从那里你可以得到你想要的机器日志的私有 IP 和相应的公共 IP,然后你可以在日志的 URL 中用这个检索到的公共 IP 替换私有 IP,你就可以开始了。

但是第一个解决方案非常简单,也是我们通常所做的。

于 2012-12-18T14:21:50.133 回答
2

将所有从属服务器的公共 IP 及其主机名添加到您的 /etc/hosts 文件中。

于 2012-12-18T14:07:37.270 回答
0

尝试 ssh 隧道。并使用 Firefox-Plugin FoxyProxy。您应该能够从本地浏览器看到作业跟踪器界面并浏览日志

于 2014-01-29T04:22:52.180 回答