Tob*_*ber 7 ssh proxy scala apache-spark
TL; DR如何通过SOCKS代理将本地驱动程序连接到spark群集.
我们有一个现场火花群集,它位于阻止大多数端口的防火墙后面.我们有ssh访问权限,所以我可以创建一个SOCKS代理ssh -D 7777 ....
当我的浏览器使用代理时,它适用于浏览web-UI,但我不知道如何让本地驱动程序使用它.
到目前为止我有这个,显然没有配置任何代理:
val sconf = new SparkConf()
  .setMaster("spark://masterserver:7077")
  .setAppName("MySpark")
new SparkContext(sconf)
在抛出异常之前,会将这些消息记录16次.
15/01/20 14:43:34 INFO Remoting: Starting remoting
15/01/20 14:43:34 ERROR NettyTransport: failed to bind to server-name/ip.ip.ip.ip:0, shutting down Netty transport
15/01/20 14:43:34 INFO RemoteActorRefProvider$RemotingTerminator: Shutting down remote daemon.
15/01/20 14:43:34 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
15/01/20 14:43:34 INFO RemoteActorRefProvider$RemotingTerminator: Remote daemon shut down; proceeding with flushing remote transports.
15/01/20 14:43:34 INFO RemoteActorRefProvider$RemotingTerminator: Remoting shut down.
您最好的办法可能是将本地端口转发到远程 7077,然后setMaster("spark://localhost:nnnn")其中 nnnn 是您转发的本地端口。
要执行此操作,请使用ssh -L(而不是-D)。我不能保证这会起作用,或者如果它起作用,它会继续起作用,但至少它可以让您免于使用该端口的实际代理。可能会破坏它的事情大多是初始连接可能触发的辅助连接。我还没有对此进行测试,但除非有辅助连接,否则原则上它应该可以工作。
另外,这并不能回答您问题的 TL;DR 版本,但由于您具有 SSH 访问权限,因此它更有可能起作用。
| 归档时间: | 
 | 
| 查看次数: | 795 次 | 
| 最近记录: |