如何在emr中设置一个可用于spark应用程序的自定义环境变量

svmlkihl  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(260)

我需要在emr中设置一个自定义环境变量,以便在运行spark应用程序时可用。
我尝试添加以下内容:

...
                   --configurations '[                                    
                                      {
                                      "Classification": "spark-env",
                                      "Configurations": [
                                        {
                                        "Classification": "export",
                                        "Configurations": [],
                                        "Properties": { "SOME-ENV-VAR": "qa1" }
                                        }
                                      ],
                                      "Properties": {}
                                      }
                                      ]'
                   ...

还试图用 hadoop-env 但似乎什么都不管用。
aws论坛给出了这个答案。但我不知道如何运用它。我正在运行emr 5.3.1,并使用cli中的预配置步骤启动它: aws emr create-cluster...

np8igboo

np8igboo1#

对我来说,将spark-env替换为yarn-env解决了这个问题。

ejk8hzay

ejk8hzay2#

将下面的自定义配置json添加到一个文件中, custom_config.json ```
[
{
"Classification": "spark-env",
"Properties": {},
"Configurations": [
{
"Classification": "export",
"Properties": {
"VARIABLE_NAME": VARIABLE_VALUE,
}
}
]
}
]

并且,在创建emr集群时,将文件引用传递给 `--configurations` 选项

aws emr create-cluster --configurations file://custom_config.json --other-options...

tp5buhyn

tp5buhyn3#

使用环境将环境变量传递给工作节点。
使用分类spark env将环境变量传递给驱动程序,并使用部署模式客户端。使用部署模式集群时,请使用yarn env。

相关问题