2016-06-20 5 views
3

Ich habe mehrere Jupyter Notebooks mit jeweils eigenen pyspark (Spark 1.6.1) Kernel laufen. Wie kann ich herausfinden, welche Spark UI-Instanz zu welchem ​​Kernel gehört? Offensichtlich konnte ich einfach durch die offenen Seiten (http://sparky:4040, http://sparky:4041, usw.) radeln und versuchen, es auszuarbeiten, aber ich hoffe, es gibt eine programmatische Art und Weise, dies zu tun.Ermitteln Spark-UI-Port aus Jupyter/Pypspark

Edit: Ich habe keine Root-Zugriff auf den Server haben ...

Antwort

2

Dies ist hässlich, aber es funktioniert ...

import urllib 
sparkHost = "sparky" 

for x in range(4040,4060): 
    link = "http://"+sparkHost+":"+str(x)+"/environment/" 
    try: 
     f = urllib.request.urlopen(link) 
     myfile = f.read() 
     if (sc.applicationId in str(myfile)): 
      print ('Application ID found on port ', x) 
    except: 
     pass 

Alle Verbesserungen auf diesem sind mehr als willkommen!

1

Sie nmap Dienstprogramm für diese verwenden:

sudo nmap -O sparky 

Es wird alle offenen Ports auf sparky Host zeigen.

+0

Das würde definitiv alle aktiven UI-Ports herausfinden, aber nicht welchen Port für welchen Kernel aktiv war. Außerdem habe ich keinen Root-Zugriff auf den Server :( – RichD

Verwandte Themen