2015-10-12 10 views
5

Próbuję uruchomić powłokę zapłonową dla Pythona z katalogu za pomocą ./bin/pysparkClassNotFoundException rzucony uruchomienie Spark Shell

kiedy uruchomić polecenie pojawia się następujący błąd:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/launcher/Main 
Caused by: java.lang.ClassNotFoundException: org.apache.spark.launcher.Main 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 

It wydaje się, że brakuje mi: org.apache.spark.launcher.main

Nie jestem do końca pewien, jak rozwiązać ten problem i zastanawiałem się, czy ktoś miał jakieś sugestie lub miał podobne problemy.

Dzięki

+0

Błąd java zgłaszany przez bibliotekę Java w kodzie java. Dlaczego jest to oznaczony "python"? – RobertB

+3

@RobertB pyspark jest pythonowym sterownikiem REPL na szczycie biblioteki java/framework/cokolwiek innego. Pytanie nie jest całkowicie odłączone od Pythona. – mehmetminanc

+0

Jaką masz dystrybucję iskier? – eliasah

Odpowiedz

8

Wystąpił również ten problem (na moim komputerze Mac).

Wykonałem następujące czynności na tej stronie: https://stackoverflow.com/a/14875241/5478610 i udało mi się ominąć ten błąd.

Myślę, że problemem jest to, że nawet jeśli miałem zainstalowane Java 8 na moim Mac, kiedy prowadził z linii poleceń nadal dzwoni Java 6.

plik jar z klasą (w ./lib /spark-assembly-1.5.1-hadoop2.6.0.jar) nie można było otworzyć przy pomocy Java 6. Ale raz zaktualizowałem swoje linki tak, aby wywoływanie java z terminala używało Java 8, byłem w stanie przywołać pyspark .

+0

Powtórzę, że nowsze wersje Sparka nie obsługują Java 6. Miałem ten sam problem w Spark 1.5.2 i uaktualniłem do Java 7 rozwiązała problem. –

+0

Wiem, że ten wątek dotyczy nowszych wersji Sparka - ale to był mój problem z uruchomieniem starszej wersji (1.6) z Javą 6. Moja konfiguracja: Hadoop: 1.2.1, Spark 1.6, Java 7u79 – miniscem

2

Oprócz odpowiedzi Dawida, użyj

# Change java version to 1.7 
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7) 

# Change java version to 1.8 
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) 

zmienić wersję Javy, jeśli masz zainstalowane różne wersje Java i chcesz przełączać się między nimi.

Rozwiązałem również ten problem, zmieniając wersję Java na 1.8. Komunikat o błędzie nie jest w tym przypadku istotny.

Powiązane problemy