apache-spark - 在 Spark 集群模式下设置环境变量

标签 apache-spark environment-variables hadoop-yarn

我正在经历这个 Apache Spark documentation ,并提到:

When running Spark on YARN in cluster mode, environment variables need to be set using the spark.yarn.appMasterEnv.[EnvironmentVariableName] property in your conf/spark-defaults.conf file.



我在 AWS 数据管道上运行我的 EMR 集群。我想知道我必须在哪里编辑这个 conf 文件。此外,如果我创建自己的自定义 conf 文件,并将其指定为 --configurations 的一部分(在 spark-submit 中),它会解决我的用例吗?

最佳答案

一种方法如下:(棘手的部分是您可能需要在执行程序和驱动程序参数上设置环境变量)

spark-submit   \
 --driver-memory 2g \
 --executor-memory 4g \
 --conf spark.executor.instances=4 \
 --conf spark.driver.extraJavaOptions="-DENV_KEY=ENV_VALUE" \
 --conf spark.executor.extraJavaOptions="-DENV_KEY=ENV_VALUE" \
 --master yarn \
 --deploy-mode cluster\
 --class com.industry.class.name \
   assembly-jar.jar

我已经在 EMR 和客户端模式下测试过它,但也应该在集群模式下工作。

关于apache-spark - 在 Spark 集群模式下设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47534642/

相关文章:

java - Spark : Read Iterate on 2 files

python - 进行变量导入时避免使用环境变量

powershell - 如何在 PowerShell 中找到部分路径的潜在源环境变量?

hadoop - 无法访问 YARN 作业历史记录

performance - Spark : Tackle performance intensive commands like collect(), groupByKey(), reduceByKey()

java - spark java api 有像 hadoop MultipleOutputs/FSDataOutputStream 这样的类吗?

c - 为什么 printf 会导致段错误?

hadoop - Cloudera Manager Yarn 和 Spark UI 不工作

java - 错误 : "java.io.IOException: Type mismatch in key from map" on my MapReduce class (using Hadoop 2. 2.0)

python - 在 Pyspark 中如何添加列表中的所有值?