本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
选项 1:使用本地端口转发设置SSH通往 Amazon EMR 主节点的隧道
要连接到主节点上的本地 Web 服务器,需要在计算机和主节点之间创建一条SSH隧道。这也称为端口转发(port forwarding)。如果您不想使用SOCKS代理,则可以使用本地端口转发来设置通往主节点的SSH隧道。通过本地端口转发,您可以指定未使用的本地端口,这些端口用于将流量转发到主节点本地 Web 服务器上的特定远程端口。
使用本地端口转发设置SSH隧道需要主节点的公共DNS名称和您的 key pair 私钥文件。有关如何查找主公用DNS名称的信息,请参见检索主节点的公共DNS名称。有关访问密钥对的更多信息,请参阅《亚马逊EC2用户指南》中的亚马逊EC2密钥对。有关您可能希望在主节点上查看的站点的更多信息,请参阅 查看 Amazon EMR 集群上托管的网页界面。
通过 Open 使用本地端口转发设置通往主节点的SSH隧道 SSH
在终端中使用本地端口转发设置SSH隧道
-
确保您已允许入站SSH流量。有关说明,请参阅 连接到 Amazon 之前EMR:授权入站流量。
-
打开终端窗口。在 Mac OS X 上,选择 Applications (应用程序) > Utilities (实用程序) > Terminal (终端)。在其它 Linux 发布版上,终端通常位于 Applications (应用程序) > Accessories (附件) > Terminal (终端)。
-
键入以下命令在本地计算机上打开SSH隧道。 此示例命令通过将本地端口 8157(随机选择的未使用的本地端口)上的流量转发到主节点本地 ResourceManager Web 服务器上的端口 8088 来访问 Web 界面。
在命令中,替换
~/mykeypair.pem
使用文件的位置和文件名并替换.pem
ec2-###-##-##-###.compute-1.amazonaws.com
使用您的集群的主公共DNS名称。 要访问其他 Web 界面,请8088
替换为相应的端口号。 例如,将齐柏林飞艇8890
界面替换8088
为。ssh -i
~/mykeypair.pem
-N -L8157:ec2-###-##-##-###.compute-1.amazonaws.com
:8088
hadoop@ec2-###-##-##-###.compute-1.amazonaws.com
-L
代表使用本地端口转发,由此,您就能指定一个本地端口,用于将数据转发到主节点本地 Web 服务器上标识的远程端口。在您发出此命令后,终端保持打开状态并且不返回响应。
-
要在浏览器中打开 ResourceManager Web 界面,请在地址栏
http://localhost:
中键入。8157
/ -
如果您已完成使用主节点上的 Web 界面,请关闭终端窗口。