2015-01-20 7 views
6

TL; DR Come posso collegare un driver locale a uno spark cluster tramite un proxy SOCKS.Connessione per attivare un proxy SOCKS

Abbiamo un cluster di accensione sul posto dietro un firewall che blocca la maggior parte delle porte. Abbiamo accesso ssh, quindi posso creare un proxy SOCKS con ssh -D 7777 ....

Funziona correttamente per la navigazione delle UI Web quando il mio browser utilizza il proxy, ma non so come utilizzarlo.

Finora ho questo, che ovviamente non è configurando deleghe:

val sconf = new SparkConf() 
    .setMaster("spark://masterserver:7077") 
    .setAppName("MySpark") 
new SparkContext(sconf) 

che registra questi messaggi di 16 volte prima di gettare un'eccezione.

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. 

risposta

2

vostro colpo migliore potrebbe essere quella di avanti una porta locale a remoto 7077, e poi setMaster("spark://localhost:nnnn") dove nnnn è la porta locale è stato inoltrato.

Per fare ciò, utilizzare ssh -L (anziché -D). Non posso garantire che funzionerà, o se funziona, che continuerà a funzionare, ma almeno ti risparmierà usando un proxy effettivo per questa unica porta. Le cose che potrebbero rompersi, sono per lo più connessioni secondarie che la connessione iniziale potrebbe innescare. Non l'ho ancora testato, ma a meno che non ci siano connessioni secondarie, in linea di principio dovrebbe funzionare.

Inoltre, questo non risponde alla versione TL, DR della domanda, ma poiché si dispone dell'accesso SSH, è più probabile che funzioni.