2015-01-20 5 views
6

TL; DR Как подключить локальный драйвер к искровому коммутатору через SOCKS-прокси.Подключиться к искровому проходу через прокси SOCKS

У нас есть искровой кластер на месте, который находится за брандмауэром, который блокирует большинство портов. У нас есть ssh-доступ, поэтому я могу создать прокси-сервер SOCKS с ssh -D 7777 ....

Он отлично работает для просмотра веб-интерфейса, когда мой браузер использует прокси-сервер, но я не знаю, как сделать его локальным драйвером.

До сих пор у меня есть это, что, очевидно, не настройки всех прокси-серверов:

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. 

ответ

2

Ваш лучший выстрел может быть вперед локальный порт для удаленного 7077, а затем setMaster("spark://localhost:nnnn") где NNNN является локальный порт, который вы переслали.

Для этого используйте ssh -L (вместо -D). Я не могу гарантировать, что это сработает, или если оно сработает, что оно будет продолжать работать, но по крайней мере оно избавит вас от фактического прокси-сервера для этого одного порта. Вещи, которые могут сломать его, в основном являются вторичными соединениями, которые могут инициировать начальное соединение. Я еще не тестировал это, но если нет вторичных соединений, в принципе это должно работать.

Кроме того, это не соответствует TL-DR-версии вашего вопроса, но поскольку у вас есть SSH-доступ, он с большей вероятностью будет работать.

Смежные вопросы