我在远程集群上的YARN下运行了一个Spark安装,在我和head节点之间有一个防火墙。我可以使用ssh
隧道访问头节点:
> ssh -N -f -L 10000:remotenode:10000 between_machine
例如,此设置用于访问运行在remotenote
上的HiveServer2。如果Spark在集群模式下运行,我只需要对7077端口执行同样的操作,并使用将pyspark
客户端引导到localhost
> ssh -N -f -L 7077:remotenode:7077 between_machine
> ./pyspark --master spark://localhost:7077
Spark在YARN调度程序下运行,我该如何做到这一点?
如果您正在寻找要连接的端口,下面是文档中的一句话:
您只需打开即可访问此界面网页浏览器中的http://:4040。如果有多个SparkContext在同一台主机上运行,它们将绑定到连续的端口从4040开始(4041、4042等)。
如果您只是在寻找一种更通用的方式来通过ssh"隧道"到达主机,您可以尝试使用ssh作为socks代理:
ssh user@host -D 20000
然后将浏览器配置为通过socks代理进行连接(主机-本地主机,端口-20000)。