从Hadoop Job Tracker Web界面访问EMR任务日志

时间:2012-12-18 11:37:15

标签: hadoop amazon-ec2 emr

我已经为我的主/从节点打开了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?

谢谢!

3 个答案:

答案 0 :(得分:4)

你可以很容易地做到ssh到主节点,从那里你可以到curl到这个日志位置。通常,我们总是通过http://localhost:9100

隧道到主节点并访问Job tracker web iterface

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

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,你就可以了。

但第一种解决方案非常简单,而且我们通常会这样做。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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