咨询:Windows环境下通过SSH转发EMR Zeppelin 8890端口的配置正确性
确认你的SSH端口转发配置是正确的!
Hey Tim,
你的思路完全没问题——将EMR主机的8890端口转发到本地机器的8890端口,确实是通过SSH隧道安全访问EMR上Zeppelin的标准操作,所有流量都会被SSH加密,不用担心传输过程中的安全问题。
针对Windows下的Putty,我再给你补全具体的配置步骤(毕竟你已经能通过Putty连接EMR,只需要加隧道配置就行):
- 打开Putty,找到你之前保存的EMR服务器会话(或者直接输入EMR主节点的公网IP/域名)
- 在左侧导航栏里,依次展开 Connection > SSH > Tunnels
- 在「Source port」输入框里填
8890 - 在「Destination」输入框里填
localhost:8890(这里的localhost指的是EMR主机本身,因为Zeppelin服务是运行在EMR主节点的8890端口上) - 点击「Add」按钮,你会看到转发规则出现在「Forwarded ports」列表里,格式是
L8890 localhost:8890 - 回到「Session」页面,记得保存这个会话(避免下次重复配置),然后点击「Open」连接到EMR
连接成功后,打开你本地的浏览器,访问 http://localhost:8890 就能直接访问EMR上的Zeppelin服务了。
额外提几个小注意点:
- 如果本地的8890端口被其他程序占用了,你可以把「Source port」改成其他未被占用的端口(比如8891),之后访问浏览器的时候改成
http://localhost:8891就行,「Destination」保持localhost:8890不变 - 确认EMR主节点上的Zeppelin服务是正常运行的,你可以在Putty连接的终端里输入
sudo systemctl status zeppelin(不同EMR版本可能命令略有不同,比如旧版本可能用sudo stop/start zeppelin)来检查状态 - 确保EMR的安全组规则已经允许你的本地IP通过22端口访问(你已经能连Putty,这个应该没问题,但如果之后访问Zeppelin失败可以再确认下)
内容的提问来源于stack exchange,提问作者mitroberts




