2

我正在尝试在 Yarn 上运行 Pyspark,但是当我在控制台上键入任何命令时收到以下错误。

我可以在本地和纱线模式下在 Spark 中运行 scala shell。Pyspark 在本地模式下运行良好,但在纱线模式下不工作。

操作系统:RHEL 6.x

Hadoop 发行版:IBM BigInsights 4.0

火花版本:1.2.1

WARN scheduler.TaskSetManager:在阶段 0.0(TID 0,工作)中丢失任务 0.0:org.apache.spark.SparkException:来自 python 工作者的错误:/usr/bin/python:没有名为 pyspark PYTHONPATH 的模块是:/mnt/sdj1/ hadoop/yarn/local/filecache/13/spark-assembly.jar (我的评论:这个路径在linux文件系统上不存在,但是逻辑数据节点) org.apache.spark.api.python.PythonWorkerFactory.startDaemon(PythonWorkerFactory.scala:163) 处 org.apache.spark.api 处的 java.io.DataInputStream.readInt(DataInputStream.java:392) 处的 java.io.EOFException。 python.PythonWorkerFactory.createThroughDaemon(PythonWorkerFactory.scala:86) at org.apache.spark.api.python.PythonWorkerFactory.create(PythonWorkerFactory.scala:62) at org.apache.spark.SparkEnv.createPythonWorker(SparkEnv.scala:102)在 org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:70) 在 org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:280) 在 org.apache.spark.rdd.RDD .iterator(RDD.scala:247) at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:61) at org.apache.spark.scheduler.Task.run(Task.scala:56) 在 org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:200) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker .run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745)

我已经通过导出命令设置了 SPARK_HOME 和 PYTHONPATH,如下

export SPARK_HOME=/path/to/spark
export PYTHONPATH=/path/to/spark/python/:/path/to/spark/lib/spark-assembly.jar

有人可以帮我解决这个问题吗?

回答:

经过一番挖掘,我发现 pyspark 在开箱即用的 Big Insights 4.0 中确实存在一些问题。建议我们升级到 BI 4.1。

4

0 回答 0