2015-07-31 6 views
6

Spark Master słucha na kilku portach. Niestety, zastosowany schemat adresu IP/nazwy hosta różni się między nimi - i często się zdarza, że ​​połączenia nie powiodły się.Wiele adresów IP i nazw hostów używanych przez Spark Driver i Master

Wtedy pozostaje nam zastanawiać: jak rozwiązać problemy z połączeniem: Spark postanawia na własną rękę, jak tłumaczyć między:

  • hostname
  • hostname.local (na Mac OS/X)
  • hostname.domain
  • localhost
  • localhost.localdomain
  • 127.0.0.1
  • zewnętrzny adres IP
  • wewnętrzny adres IP (na AWS)

Ważnym czynnikiem: niektórzy z klientów sieci/połączenia potrzebny jest mecz dokładny ciąg skutecznie kontaktować się z panem. W takim przypadku numer 127.0.0.1 nie jest taki sam jak hostname. Widziałem w przypadkach, gdzie hostname działa i hostname.local nie: ten problem jest Mac-centric. Ale ... wtedy ten pierwszy przestaje działać - i brakuje mi narzędzi do rozwiązania tego problemu.

Opcja --master daje możliwość wprowadzenia w błąd w systemie Linux, gdy masz wewnętrzny i zewnętrzny adres IP.

Poniżej znajduje się przykład na moim Macu. Widzę inne wzorce na AWS, a jeszcze inne na samodzielnych klastrach. To wszystko jest kłopotliwy i czasochłonny, ponieważ nie jest wyraźnie udokumentowane:

  • gdzie mapowanie wystąpić
  • jak osiągnąć spójny ciąg adresów mistrz poprzek:
    • głównego
    • web master ui adres
    • Akka dla mistrza

Poniżej pokazano dane wyjściowe, gdy opcja --master została dostarczona do przesłania iskier.

--master spark://mellyrn:7077 

Wskazówka różnorodność adresów IP

http://25.x.x.x:4040 
akka.tcp://[email protected]:7077 
mellyrn/127.0.0.1:707 

Oto wynik na Mac:

15/07/31 12:21:34 INFO SparkEnv: Registering OutputCommitCoordinator 
15/07/31 12:21:34 INFO Utils: Successfully started service 'SparkUI' on port 4040. 
15/07/31 12:21:34 INFO SparkUI: Started SparkUI at http://25.101.19.24:4040 
15/07/31 12:21:34 INFO AppClient$ClientActor: Connecting to master akka.tcp://[email protected]:7077/user/Master... 
15/07/31 12:21:35 WARN AppClient$ClientActor: Could not connect to akka.tcp://[email protected]:7077: akka.remote.InvalidAssociation: Invalid address: akka.tcp://[email protected]:7077 
15/07/31 12:21:35 WARN Remoting: Tried to associate with unreachable remote address [akka.tcp://[email protected]:7077]. Address is now gated for 5000 ms, all messages to this address will be delivered to dead letters. Reason: Connection refused: mellyrn/127.0.0.1:7077 
15/07/31 12:21:54 INFO AppClient$ClientActor: Connecting to master akka.tcp://[email protected]:7077/user/Master... 
15/07/31 12:21:54 WARN AppClient$ClientActor: Could not connect to akka.tcp://[email protected]:7077: akka.remote.InvalidAssociation: Invalid address: akka.tcp://[email protected]:7077 
15/07/31 12:21:54 WARN Remoting: Tried to associate with unreachable remote address [akka.tcp://[email protected]:7077]. Address is now gated for 5000 

Na Linuksie połączenie iskra z opcją --master robi pracę (choć .setMaster() nie działa niezawodnie). Jednak nawet na Linuksie generowane są różne generowane ciągi master/driver:

Odpowiedz

2

Problem został odkryty: Spark łączy się z innym lokalnym interfejsem. Miałem klienta VPN na 25.X.X.X address - ale nazwa hosta pinguje do 10.X.X. Jest to prawdopodobnie błąd w iskrze. Sprawdzę, czy JIRA już został zgłoszony.

-1

Ostatnio napotkałem ten sam problem. Zawsze monituje jako "Wyjątek: nie można otworzyć gniazda", gdy używam "Zbieraj".

Ale zadziałało dobrze, gdy mój vpn jest podłączony. Próbowałem ujednolicić całą nazwę węzła

Powiązane problemy