在创建群集时配置应用程序 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在创建群集时配置应用程序

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

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

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

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

提供配置使用Amazon CLI创建集群时

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

aws emr create-cluster --use-default-roles --release-label emr-5.33.0 --instance-type m5.xlarge --instance-count 2 --applications Name=Hive --configurations https://s3.amazonaws.com/EXAMPLE-DOC-BUCKET/myfolder/myConfig.json

如果您的配置位于本地目录中,您可以使用以下示例命令。

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

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

以下程序摘录说明了如何使用Amazon 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") );