【发布时间】:2019-05-02 11:48:28
【问题描述】:
我正在尝试创建一个 EMR 集群(通过命令行)并为其提供一些引导操作和配置文件。
目的是设置一些SPARK/Yarn 变量,以及一些其他应该在集群中使用的环境变量(因此这些环境变量应该在主服务器和从服务器上都可用)。
我给它一个如下所示的配置文件:
[
{
"Classification": "yarn-env",
"Properties": {},
"Configurations": [
{
"Classification": "export",
"Properties": {
"appMasterEnv.SOME_VAR": "123",
"nodemanager.vmem-check-enabled": "false",
"executor.memoryOverhead": "5g"
},
"Configurations": [
]
}
]
},
{
"Classification": "spark-env",
"Properties": {},
"Configurations": [
{
"Classification": "export",
"Properties": {
"appMasterEnv.SOME_VAR": "123",
"PYSPARK_DRIVER_PYTHON": "python36",
"PYSPARK_PYTHON": "python36",
"driver.memoryOverhead": "14g",
"driver.memory": "14g",
"executor.memory": "14g"
},
"Configurations": [
]
}
]
}
]
但是,当我尝试向集群添加一些步骤时,该步骤失败,声称它不知道环境变量 SOME_VAR。
Traceback (most recent call last):
File "..", line 9, in <module>.
..
raise EnvironmentError
OSError
(行号是我尝试使用环境变量SOME_VAR的地方)
对于SOME_VAR 和其他Spark/Yarn vars,我的做法是否正确?
谢谢
【问题讨论】:
-
你不必在变量前加上“appMasterEnv”。
标签: pyspark hadoop-yarn amazon-emr