Problem z IPython / Jupyter na Spark (nierozpoznany alias)

11

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 defaultprofil, a nie pysparkprofil.

Moja konfiguracja notebooka pysparkma:

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'

gcd
źródło
Czy to możliwe, że następujące działania będą działać? $ ipython --profile=pyspark notebook? Możliwe, że problem dotyczył tylko kolejności argumentów.
Gábor Bakos,

Odpowiedzi:

12

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ą

jupyter notebook --generate-config

a następnie edytuj ~/.jupyter/jupyter_notebook_config.pyplik wynikowy zgodnie ze swoimi potrzebami.

Więcej instrukcji instalacji tutaj .

dmvianna
źródło
Często zastanawiałem się, dlaczego zachowali polecenie ipython notebooka, dzieląc jupyter z ipython. Właśnie dlatego robi się naprawdę zagmatwany. Dziękujemy tobie i kau zsh za wskazanie niedopasowania profilu. To prawie tak, jakby powinni używać profilu ipython podczas korzystania z polecenia ipython notebook i profilu jupyter-notebook podczas korzystania z tego polecenia.
AN6U5,
4

Załóżmy, że plik konfiguracyjny to ~ / .ipython / profile_pyspark / ipython_notebook_config.py, nadal możesz używać tego pliku konfiguracyjnego poprzez:

ipython notebook --config='~/.ipython/profile_pyspark/ipython_notebook_config.py'

lub

jupyter-notebook --config='~/.ipython/profile_pyspark/ipython_notebook_config.py'
kau zsh
źródło
1

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.

Anahita
źródło
Witamy na stronie Anahita :)
Dawny33