Amazon EMR
Amazon EMR 版本指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在创建集群时提供配置

在创建集群时,您可以覆盖应用程序的默认配置。为此,请使用 Amazon EMR 控制台、AWS Command Line Interface (AWS CLI) 或 AWS 开发工具包。

在创建集群时,在控制台中提供配置

要提供配置,请导航到 Create cluster (创建集群) 页面,然后选择 Edit software settings (编辑软件设置)。然后,您可以在控制台中使用 JSON 或以阴影文本表示的简写语法直接输入配置。否则,您可以为具有 JSON Configurations 对象的文件提供一个 Amazon S3 URI。

要为实例组提供配置,请导航到 Hardware Configuration (硬件配置) 页面。在 Node type (节点类型) 表中的 Instance type (实例类型) 列下面,选择以编辑每个实例组的应用程序 Configurations (配置)

在创建集群时,使用 AWS CLI 提供配置

您可通过提供本地存储或在 Amazon S3 中存储的 JSON 文件的路径来为 create-cluster 提供配置。以下示例假定您使用 Amazon EMR 的默认角色,并且已创建这些角色。如果您需要创建角色,请先运行 aws emr create-default-roles

aws emr create-cluster --use-default-roles --release-label emr-5.25.0 --instance-type m4.large --instance-count 2 --applications Name=Hive --configurations https://s3.amazonaws.com/mybucket/myfolder/myConfig.json

如果您的配置位于本地目录中,您可以使用以下内容:

aws emr create-cluster --use-default-roles --release-label emr-5.25.0 --applications Name=Hive \ --instance-type m4.large --instance-count 3 --configurations file://./configurations.json

在创建集群时,使用 Java 开发工具包提供配置

以下程序摘要说明如何使用 AWS SDK for Java 提供配置:

Application hive = new Application().withName("Hive"); Map<String,String> hiveProperties = new HashMap<String,String>(); hiveProperties.put("hive.join.emit.interval","1000"); hiveProperties.put("hive.merge.mapfiles","true"); Configuration myHiveConfig = new Configuration() .withClassification("hive-site") .withProperties(hiveProperties); RunJobFlowRequest request = new RunJobFlowRequest() .withName("Create cluster with ReleaseLabel") .withReleaseLabel("emr-5.20.0") .withApplications(hive) .withConfigurations(myHiveConfig) .withServiceRole("EMR_DefaultRole") .withJobFlowRole("EMR_EC2_DefaultRole") .withInstances(new JobFlowInstancesConfig() .withEc2KeyName("myEc2Key") .withInstanceCount(3) .withKeepJobFlowAliveWhenNoSteps(true) .withMasterInstanceType("m4.large") .withSlaveInstanceType("m4.large") );