2016-04-14 1 views
0

Ich installierte PySpark und Ipython Notebook in Ubuntu 12.04.PySpark Ausnahme bei der Verwendung von IPython

Nach der Installation, wenn ich laufen die „ipython --profile = pyspark“ ist

[email protected]_user-VirtualBox:~$ ipython --profile=pyspark 
Python 2.7.3 (default, Jun 22 2015, 19:33:41) 
Type "copyright", "credits" or "license" for more information. 

IPython 0.12.1 -- An enhanced Interactive Python. 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object', use 'object??' for extra details. 

IPython profile: pyspark 
Error: Must specify a primary resource (JAR or Python or R file) 
Run with --help for usage help or --verbose for debug output 
--------------------------------------------------------------------------- 
Exception         Traceback (most recent call last) 
/usr/lib/python2.7/dist-packages/IPython/utils/py3compat.pyc in execfile(fname, *where) 
    173    else: 
    174     filename = fname 
--> 175    __builtin__.execfile(filename, *where) 

/home/ubuntu_user/.config/ipython/profile_pyspark/startup/00-pyspark-setup.py in <module>() 
     6 sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.8.2.1-src.zip')) 
     7 
----> 8 execfile(os.path.join(spark_home, 'python/pyspark/shell.py')) 
     9 

/home/ubuntu_user/spark/python/pyspark/shell.py in <module>() 
    41  SparkContext.setSystemProperty("spark.executor.uri", os.environ["SPARK_EXECUTOR_URI"]) 
    42 
---> 43 sc = SparkContext(pyFiles=add_files) 
    44 atexit.register(lambda: sc.stop()) 
    45 

/home/ubuntu_user/spark/python/pyspark/context.pyc in __init__(self, master, appName, sparkHome, pyFiles, environment, batchSize, serializer, conf, gateway, jsc, profiler_cls) 
    108   """ 
    109   self._callsite = first_spark_call() or CallSite(None, None, None) 
--> 110   SparkContext._ensure_initialized(self, gateway=gateway) 
    111   try: 
    112    self._do_init(master, appName, sparkHome, pyFiles, environment, batchSize, serializer, 

/home/ubuntu_user/spark/python/pyspark/context.pyc in _ensure_initialized(cls, instance, gateway) 
    232   with SparkContext._lock: 
    233    if not SparkContext._gateway: 
--> 234     SparkContext._gateway = gateway or launch_gateway() 
    235     SparkContext._jvm = SparkContext._gateway.jvm 
    236 

/home/ubuntu_user/spark/python/pyspark/java_gateway.pyc in launch_gateway() 
    92     callback_socket.close() 
    93   if gateway_port is None: 
---> 94    raise Exception("Java gateway process exited before sending the driver its port number") 
    95 
    96   # In Windows, ensure the Java child processes do not linger after Python has exited. 


Exception: Java gateway process exited before sending the driver its port number 

Im Folgenden finden Sie die Einstellungen und Konfigurationsdatei die folgende Ausnahme zu werfen.

[email protected]_user-VirtualBox:~$ ls /home/ubuntu_user/spark 
bin   ec2  licenses README.md 
CHANGES.txt examples NOTICE RELEASE 
conf   lib  python sbin 
data   LICENSE R   spark-1.5.2-bin-hadoop2.6.tgz 

Unterhalb der IPython ist

Einstellung
[email protected]_user-VirtualBox:~$ ls .config/ipython/profile_pyspark/ 
db    ipython_config.py   log security 
history.sqlite ipython_notebook_config.py pid startup 

IPython und Funken (PySpark) Konfiguration

[email protected]_user-VirtualBox:~$ vi .config/ipython/profile_pyspark/ipython_notebook_config.py 

# Configuration file for ipython-notebook. 

c = get_config() 

# IPython PySpark 
c.NotebookApp.ip = 'localhost' 
c.NotebookApp.open_browser = False 
c.NotebookApp.port = 7770 


[email protected]_user-VirtualBox:~$ vi .config/ipython/profile_pyspark/startup/00-pyspark-setup.py 
import os 
import sys 

spark_home = os.environ.get('SPARK_HOME', None) 
sys.path.insert(0, spark_home + "/python") 
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.8.2.1-src.zip')) 

execfile(os.path.join(spark_home, 'python/pyspark/shell.py')) 

die folgenden Umgebungsvariablen in .bashrc oder .bash_profile einstellen:

[email protected]_user-VirtualBox:~$ vi .bashrc 
export SPARK_HOME="/home/ubuntu_user/spark" 
export PYSPARK_SUBMIT_ARGS="--master local[2]" 

Ich bin neu für Apache Spark und IPython. Wie kann ich dieses Problem lösen?

Antwort

0

Ich hatte die gleiche Ausnahme, wenn meine virtuelle Maschine nicht genug Speicher für Java hat. Also habe ich mehr Speicher für meine virtuelle Maschine zugewiesen und diese Ausnahme verschwindet.

Schritte: die VM herunterfahren -> VirtualBox Einstellungen -> Registerkarte „System“ -> Stellen Sie den Speicher

(Dies ist jedoch kann nur eine Abhilfe, die ich die richtige Art und Weise erraten, diese Ausnahme zu beheben sein könnte. richtig konfigurieren Spark in Bezug auf Java-Speicher.)

0

Möglicherweise gibt es einen Fehler beim Auffinden der Pyspark-Shell durch den Funken.

export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH 
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH 

Dies funktioniert für Spark 1.6.1. Wenn Sie eine andere Version haben, suchen Sie die ZIP-Datei und fügen Sie den Pfad zum Extrakt hinzu.

0

Zwei Gedanken: Wo ist dein JDK? Ich sehe keinen JAVA_HOME-Parameter in Ihrer Datei konfiguriert. Das könnte genug sein:

Error: Must specify a primary resource (JAR or Python or R file) 

Zweitens, stellen Sie sicher, dass Ihr Port 7770 geöffnet und für Ihre JVM verfügbar ist.