在运行 spark-shell 之前编辑 spark-env.sh 的正确方法是啥?

Posted

技术标签:

【中文标题】在运行 spark-shell 之前编辑 spark-env.sh 的正确方法是啥?【英文标题】:What is the right way to edit spark-env.sh before running spark-shell?在运行 spark-shell 之前编辑 spark-env.sh 的正确方法是什么? 【发布时间】:2016-07-11 06:03:01 【问题描述】:

我正在本地 Windows 机器上运行 spark。我能够成功启动 spark shell。

我想编辑 conf/ 文件夹中的 spark-env.sh 文件。向 spark-env.sh 文件添加值的正确方法是什么。

例如,如果我想为 SPARK_EXECUTOR_MEMORY 变量添加值怎么办? 我对可用的不同答案感到困惑 1. SPARK_EXECUTOR_MEMORY="2G" 2.导出

【问题讨论】:

【参考方案1】:

spark-env.sh 是用于 Unix 的常规 bash 脚本,因此在 Windows 安装中它永远不会被拾取。

Windows 上,您需要在 conf 目录中有一个 spark-env.cmd 文件,并改为使用以下语法:

set SPARK_EXECUTOR_MEMORY=2G

Unix 上,该文件将被称为 spark-env.sh,您需要在每个属性前面加上 export(例如:export SPARK_EXECUTOR_MEMORY=2G

【讨论】:

谢谢!在 conf 目录中创建 spark-env.cmd 并将值设置为 set SPARK_EXECUTOR_MEMORY=2G 有效。【参考方案2】:

您必须使用export*.sh 文件中添加任何配置。所以在spark-env.sh 文件中使用下面的例子,

export SPARK_MASTER_IP=192.165.5.1
export SPARK_EXECUTOR_MEMORY=2g
#OR export SPARK_EXECUTOR_MEMORY=2G

值不需要使用双引号。

【讨论】:

以上是关于在运行 spark-shell 之前编辑 spark-env.sh 的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 java 连接到 spark-shell 并执行 hive 查询

Spark-Shell的启动与运行

Spark-Shell的启动与运行

Learning Spark——使用spark-shell运行Word Count

spark启动问题,发现任务都是在localhost下面运行的,原来启动spark-shell的时候需要带主节点的参数

Learning Spark——使用spark-shell运行Word Count