Pracuję nad skonfigurowaniem zestawu maszyn wirtualnych do eksperymentowania ze Spark przed wydaniem pieniędzy na zbudowanie klastra z pewnym sprzętem. Szybka uwaga: Jestem naukowcem z doświadczeniem w stosowanym uczeniu maszynowym i trochę przestałem pracować w informatyce. Używam narzędzi do obliczeń, rzadko musiałbym je konfigurować.
Utworzyłem 3 maszyny wirtualne (1 master, 2 slave) i pomyślnie zainstalowałem Spark. Wszystko wydaje się działać tak, jak powinno. Mój problem polega na utworzeniu serwera Jupyter, do którego można się podłączyć z przeglądarki, która nie działa na komputerze w klastrze.
Pomyślnie zainstalowałem notatnik Jupyter ... i działa. Dodałem nowy profil IPython łączący się ze zdalnym serwerem za pomocą Spark.
teraz problem
Komenda
$ ipython --profile=pyspark
działa dobrze i łączy się z klastrem iskier. Jednak,
$ ipython notebook --profile=pyspark
[<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect.
domyślnie jest to default
profil, a nie pyspark
profil.
Moja konfiguracja notebooka pyspark
ma:
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8880
c.NotebookApp.server_extensions.append('ipyparallel.nbextension')
c.NotebookApp.password = u'some password is here'
$ ipython --profile=pyspark notebook
? Możliwe, że problem dotyczył tylko kolejności argumentów.Odpowiedzi:
IPython został teraz przeniesiony do wersji 4.0 , co oznacza, że jeśli go używasz, odczyta jego konfigurację
~/.jupyter
, a nie~/.ipython
. Musisz utworzyć nowy plik konfiguracyjny za pomocąa następnie edytuj
~/.jupyter/jupyter_notebook_config.py
plik wynikowy zgodnie ze swoimi potrzebami.Więcej instrukcji instalacji tutaj .
źródło
Załóżmy, że plik konfiguracyjny to ~ / .ipython / profile_pyspark / ipython_notebook_config.py, nadal możesz używać tego pliku konfiguracyjnego poprzez:
lub
źródło
Problem polega na tym, że pyspark domyślnie nie znajduje się na ścieżce systemu operacyjnego. Po kilku nieudanych próbach ręcznego dodania go do moich plików konfiguracyjnych / ścieżek / etc, natknąłem się na to repozytorium GitHub o nazwie findspark.
https://github.com/minrk/findspark
Sklonowałem to repozytorium za pomocą git clone https://github.com/minrk/findspark.git
Potem uruchomiłem „pip install findspark” z katalogu głównego findspark.
Uruchomiłem notatnik Jupyter, utworzyłem nowy notatnik Python3 i dodałem
import findspark
import os
findspark.init ()
import pyspark
sc = pyspark.SparkContext ()
Przed findspark.init () import pyspark wrócił z błędem.
Aby przetestować, właśnie wpisałem sc i wróciłem:
wpisałem pyspark.context.SparkContext pod adresem 0x4526d30
Wszyscy pracują dla mnie teraz.
źródło