Spark异常:worker中的Python版本3.4与驱动程序3.5中的版本不同

2023-12-04

我正在使用 Amazon EC2,并且我将主服务器和开发服务器合二为一。我还有另一个针对单个工人的实例。

我对此很陌生,但我已经设法使 Spark 在独立模式下工作。现在我正在尝试集群。 master 和worker 处于活动状态(我可以看到它们的webUI 并且它们正在运行)。

我有 Spark 2.0,并且安装了最新的 Anaconda 4.1.1,它附带了 Python 3.5.2。在worker和master中,如果我去pyspark并执行os.version_info,我将得到3.5.2,我还正确设置了所有环境变量(如stackoverflow和google上的其他帖子所示)(例如,PYSPARK_PYTHON) 。

无论如何,任何地方都没有 3.4 版本的 python。所以我想知道如何解决这个问题。

我通过运行以下命令收到错误:

rdd = sc.parallelize([1,2,3])
rdd.count()    

count() 方法发生错误:

16/08/13 18:44:31 ERROR Executor: Exception in task 1.0 in stage 2.0 (TID 17)
org.apache.spark.api.python.PythonException: Traceback (most recent call last):
  File "/opt/spark/python/lib/pyspark.zip/pyspark/worker.py", line 123, in main
    ("%d.%d" % sys.version_info[:2], version))
Exception: Python in worker has different version 3.4 than that in driver 3.5, PySpark cannot run with different minor versions

at org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRDD.scala:193)
at org.apache.spark.api.python.PythonRunner$$anon$1.<init>(PythonRDD.scala:234)
at org.apache.spark.api.python.PythonRunner.compute(PythonRDD.scala:152)
at org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:63)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:319)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:283)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:70)
at org.apache.spark.scheduler.Task.run(Task.scala:85)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:274)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
16/08/13 18:44:31 ERROR Executor: Exception in task 1.1 in stage 2.0 (TID 18)
org.apache.spark.api.python.PythonException: Traceback (most recent call last):
  File "/opt/spark/python/lib/pyspark.zip/pyspark/worker.py", line 123, in main
    ("%d.%d" % sys.version_info[:2], version))
Exception: Python in worker has different version 3.4 than that in driver 3.5, PySpark cannot run with different minor versions
at org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRDD.scala:193)
at org.apache.spark.api.python.PythonRunner$$anon$1.<init>(PythonRDD.scala:234)
at org.apache.spark.api.python.PythonRunner.compute(PythonRDD.scala:152)
at org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:63)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:319)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:283)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:70)
at org.apache.spark.scheduler.Task.run(Task.scala:85)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:274)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

由于您已经使用 Anaconda,因此您可以简单地创建一个具有所需 Python 版本的环境:

conda create --name foo python=3.4
source activate foo

python --version
## Python 3.4.5 :: Continuum Analytics, Inc

并将其用作PYSPARK_DRIVER_PYTHON:

export PYSPARK_DRIVER_PYTHON=/path/to/anaconda/envs/foo/bin/python
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark异常:worker中的Python版本3.4与驱动程序3.5中的版本不同 的相关文章

随机推荐

  • Delphi Win64 调试器加载符号有限制吗?

    我正在使用 RAD Studio 10 2 3 东京 Research 相关这个问题 and 这个问题我在调试广泛使用运行时 BPL 作为插件系统的旗舰应用程序时遇到了麻烦 仅当作为 Win64 应用程序进行编译和调试并使用 Delphi
  • 在 ajax 加载的页面片段中运行脚本

    我的网络应用程序动态加载其 UI 的各个部分jquery ajax 不过 新的 UI 部分带有脚本 我这样加载它们 Use ajax url url dataType html success function data textStatu
  • F# 中的通用单位

    在 F 中编写泛型函数时 我可以使用 LanguagePrimitives 模块中定义的成员 例如在此函数中 只需增加一个数字 let inline increment x a x LanguagePrimitives GenericOne
  • CUDA 5.0:替换 cutil.h?

    我想用新的 CUDA 5 0 编译一个旧项目 基于 CUDA 2 3 不幸的是 它使用了旧的 cutil h 标头 该标头在 CUDA 5 0 中不再可用 这个标题有替代品吗 特别是缺少图像导入和导出功能 PPM PGM 例如剪切保存PGM
  • JPanel 填充所有 JFrame 空间

    我编写了这段代码来显示面板中的一组颜色 import java util ArrayList import java util List import javax swing JFrame import javax swing JPanel
  • PHP - RSS 生成器

    我有一个旧网站 每次创建新帖子时都会生成自己的 RSS 当我在 PHP 4 的服务器上时一切正常 但现在主机更改为 PHP 5 我总是有一个 格式错误的 XML 我使用 xml parser create 和 xml parse 和 fwr
  • C# 通过OleDb读取打开的Excel文件

    我需要连接到open使用 NET 3 5 的 Excel 2003 文件 看来我尝试使用的 OleDb 连接只需要该文件 但我需要同时在 Excel 中打开这个文件 Is 非锁定读取可能的 EDIT 我通过在打开文件之前复制文件解决了这个问
  • Private 可见性修饰符的含义

    在下面的 Tosee 类中 当我调用 s hiddenInt 时 hiddenInt 是可见的 但是 当我在另一个类 CantSee 中创建 ToSee 对象时 私有变量不可见 为什么会这样呢 我的印象是 私有意味着在类的任何实例中 客户端
  • NHibernate Validator 未与 Fluent NHibernate 集成

    我在让 NHV 与 Fluent NHibernate 配合使用时遇到一些问题 我的单元测试有一个应该验证失败的实体 最终会抛出 ADO 异常 我按照以下方式配置了 NHV private static void Init SessionF
  • Rails form_for 从不调用创建控制器操作来使用redirect_to

    我正在使用 Rails 3 并且 StatusController 中有一个 form for 当我点击提交按钮时 我的创建方法永远不会被调用 我的创建方法有一个redirect to index 但是当我点击 提交 时 所有信息都保留在表
  • 如何使用列号从 MySQL 表中删除列

    我正在尝试从与 Handsontable 一起使用的 MySQL 表中删除一列 当我从 Handsontable 中删除一列时 我可以使用以下命令获取该列的索引afterRemoveCol 打回来 afterRemoveCol functi
  • MySQL 上的数据库事务内的 Codeception 验收测试

    使用 Codeception 为我们的 Custom 带有 Symfony 组件和 Doctrine 框架编写验收测试 我们有一组实用方法 由 Phpunit 测试单独使用 用于创建要测试的各种实体 这包括用户和其他相关数据等内容 在我们的
  • 重载方法值适用于替代方案:

    我是 Spark 新手 我试图为 json 数据定义一个模式 并在 spark shell
  • 如何修复此代码以创建字符串数组?

    我想创建一个字符串数组 这是代码 include
  • 如何在 eclipselink 中禁用缓存

    我尝试通过在 persistence xml 中使用以下属性 使用 Eclipse indigo 禁用 EclipseLink 中的 L2 缓存
  • 使用 OpenMP 并行化输出

    我编写了一个必须处理大量数据的 C 应用程序 使用 OpenMP 我很好地并行化了处理阶段 但令人尴尬的是 我发现输出写入现在是瓶颈 我决定使用一个parallel for那里也是如此 因为我输出项目的顺序是无关紧要的 它们只需要作为连贯的
  • OpenCV 创建后更改关键点或描述符参数

    在最新版本中 OpenCV 允许使用 create 函数轻松创建关键点检测器 描述符或匹配器 例如 cv Ptr
  • Unix和Linux中的“dot”和“dot dot”文件是真实文件吗?

    做特殊文件 and 实际上存在并作为普通文件存储 位于文件系统中 或者仅在文件系统处理程序访问时才解释 创建它们 当前目录 父目录 我的假设是它们不存在 否则 当您创建符号链接或绑定安装时 事情就会崩溃 我认为目前接受的答案并不正确 或者至
  • 以编程方式添加代码模板?

    我正在为我们的项目编写一个自定义 XML 编辑器 并希望添加对模板的支持 即当用户写
  • Spark异常:worker中的Python版本3.4与驱动程序3.5中的版本不同

    我正在使用 Amazon EC2 并且我将主服务器和开发服务器合二为一 我还有另一个针对单个工人的实例 我对此很陌生 但我已经设法使 Spark 在独立模式下工作 现在我正在尝试集群 master 和worker 处于活动状态 我可以看到它