【问题标题】:Unable to set spark driver memory无法设置火花驱动器内存
【发布时间】:2020-02-26 11:53:18
【问题描述】:

我正在从 Jupiter 笔记本构建一个 spark(在 Apache Spark 版本 2.4.3 上运行)会话,如下所示

spark_session  = SparkSession.builder
                      .master("yarn-client")
                      .enableHiveSupport()
                      .getOrCreate()

spark_session.conf.set("spark.executor.memory", '8g')
spark_session.conf.set('spark.executor.cores', '3')
spark_session.conf.set('spark.cores.max', '3')
spark_session.conf.set("spark.driver.memory",'8g')
sc = spark_session.sparkContext

我可以从应用程序主控中看到,所有参数都已正确设置,除了 spark.driver.memory。 spark.driver.memory 无论我如何设置它都只使用 1GB。

我已经检查了 spark-default.conf,但没有 spark.driver.memory 等参数。为了检查它是否与会话生成器/木星一起使用,我从命令行使用 spark-submit 运行了一个应用程序,令我惊讶的是它选择了我正在传递的驱动程序内存。

有人可以解释一下吗?为什么它不从 jupyter 中选择 spark.driver.memory 可能是什么原因

【问题讨论】:

    标签: apache-spark jupyter-notebook hadoop-yarn


    【解决方案1】:

    Jupyter notebook 将以 yarn-client 模式启动 pyspark,由于 JVM 驱动程序已经启动,驱动程序内存和某些配置无法使用属性 'conf' 进行设置。您必须在命令行中设置它。

    所以,对于您的问题 - 当您在客户端模式下运行 spark 时,通过“conf.set”设置属性将不起作用,因为 JVM 驱动程序已经使用默认配置启动。这就是为什么当您从命令行传递属性时,它会选择它们。

    一个简单的启动pyspark的方法是

    pyspark --driver-memory 2g --executor-memory 2g
    

    更新:

    要使用自定义 pyspark 参数启动 jupyter,请创建自定义内核,更多关于 jupyter 内核入门:http://cleverowl.uk/2016/10/15/installing-jupyter-with-the-pyspark-and-r-kernels-for-spark-development/

    当您定义“kernel.json”时,将--driver-memory 2g --executor-memory 2g 添加到 PYSPARK_SUBMIT_ARGS 选项。

    【讨论】:

    • 感谢格鲁比。在这种情况下,如何从命令行设置 spark.driver.memory SET?对木星来说很新。只是司机的情况吗?作为 spark.executor.memory,使用 conf.set 设置核心
    • 谢谢格鲁比。但我想在 jupyter 中使用 spark。不是命令行方式,即使是 spark-submit 命令行也在获取驱动程序内存。抱歉,如果我在上一条消息中不清楚
    • 啊!明白你的意思,我的错。根据您的要求,我建议创建一个自定义的 jupyter 内核。开始使用自定义 jupyter 内核的最佳方法是:cleverowl.uk/2016/10/15/…,当您定义“kernel.json”时,将--driver-memory 2g --executor-memory 2g 添加到 PYSPARK_SUBMIT_ARGS 选项。
    • 这个答案中的链接现在已经失效了,有更新的吗?
    猜你喜欢
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2019-07-30
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多