2015-03-05 1 views
2

Я работаю в локальном режиме просто отлично. Когда я бегу в режиме ПРЯЖИ я получаю следующее сообщение об ошибке:Spark Runs in Local, но не в YARN

Я получаю эту ошибку:

File "/hdfs15/yarn/nm/usercache/jvy234/filecache/11/spark-assembly-1.1.0-cdh5.2.1-hadoop2.5.0-cdh5.2.1.jar/pyspark/worker.py", line 79, in main 
    serializer.dump_stream(func(split_index, iterator), outfile) 
    File "/hdfs15/yarn/nm/usercache/jvy234/filecache/11/spark-assembly-1.1.0-cdh5.2.1-hadoop2.5.0-cdh5.2.1.jar/pyspark/serializers.py", line 196, in dump_stream 
    self.serializer.dump_stream(self._batched(iterator), stream) 
    File "/hdfs15/yarn/nm/usercache/jvy234/filecache/11/spark-assembly-1.1.0-cdh5.2.1-hadoop2.5.0-cdh5.2.1.jar/pyspark/serializers.py", line 127, in dump_stream 
    for obj in iterator: 
    File "/hdfs15/yarn/nm/usercache/jvy234/filecache/11/spark-assembly-1.1.0-cdh5.2.1-hadoop2.5.0-cdh5.2.1.jar/pyspark/serializers.py", line 185, in _batched 
    for item in iterator: 
    File "/home/jvy234/globalHawk.py", line 84, in <lambda> 
TypeError: 'bool' object is not callable 

     org.apache.spark.api.python.PythonRDD$$anon$1.read(PythonRDD.scala:124) 
     org.apache.spark.api.python.PythonRDD$$anon$1.<init>(PythonRDD.scala:154) 
     org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:87) 
     org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:262) 
     org.apache.spark.CacheManager.getOrCompute(CacheManager.scala:61) 
     org.apache.spark.rdd.RDD.iterator(RDD.scala:227) 
     org.apache.spark.api.python.PythonRDD$WriterThread$$anonfun$run$1.apply$mcV$sp(PythonRDD.scala:209) 
     org.apache.spark.api.python.PythonRDD$WriterThread$$anonfun$run$1.apply(PythonRDD.scala:184) 
     org.apache.spark.api.python.PythonRDD$WriterThread$$anonfun$run$1.apply(PythonRDD.scala:184) 
     org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1319) 
     org.apache.spark.api.python.PythonRDD$WriterThread.run(PythonRDD.scala:183) 

Line 84 в моих сценариях:

dataSplit = dataFile.map(lambda line: line.split(deli)) 

запускать локально:

spark-submit --master local globalHawk.py -i 20140817_011500_offer_init.dat -s kh_offers_schema4.txt4 -o txt.txt -d "|" 

To Run Yarn-Client:

spark-submit --master yarn-client globalHawk.py -i 20140817_011500_offer_init.dat -s kh_offers_schema4.txt4 -o txt.txt -d "|" 
+0

Update работает с некоторыми людьми: https: // вопросами. apache.org/jira/browse/SPARK-6216 – theMadKing

ответ

4

Эта проблема должна быть вызвана тем, что разные драйверы Python для рабочих и служащих YARN могут быть исправлены с использованием той же версии Python, что и в драйвере и работнике в YARN по умолчанию.

Вы также можете указать, какую версию питона, которые будут использоваться в ПРЯЖАХ по:

PYSPARK_PYTHON=python2.6 bin/spark-submit xxx 

(без ПРЯЖИ кластера Avaible, не испытывался)

+0

Настройка этой переменной работает благодаря! – theMadKing