Konfigurasikan aplikasi saat Anda membuat klaster - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan aplikasi saat Anda membuat klaster

Saat membuat klaster, Anda dapat mengganti konfigurasi default untuk aplikasi yang menggunakan EMR konsol Amazon, AWS Command Line Interface (AWS CLI), atau. AWS SDK

Untuk mengganti konfigurasi default untuk aplikasi, Anda menentukan nilai kustom dalam klasifikasi konfigurasi. Klasifikasi konfigurasi sesuai dengan XML file konfigurasi untuk aplikasi, sepertihive-site.xml.

Klasifikasi konfigurasi bervariasi menurut versi EMR rilis Amazon. Untuk daftar klasifikasi konfigurasi yang tersedia dalam versi rilis tertentu, lihat halaman detail rilis. Misalnya, Amazon EMR merilis 6.4.0.

Sediakan konfigurasi di konsol tersebut ketika Anda membuat sebuah klaster

Untuk menyediakan konfigurasi, navigasikan ke halaman Buat klaster dan perluas pengaturan Perangkat Lunak. Anda kemudian dapat memasukkan konfigurasi secara langsung dengan menggunakan salah satu JSON atau sintaks singkatan yang ditunjukkan dalam teks bayangan di konsol. Jika tidak, Anda dapat memberikan Amazon S3 URI untuk file dengan JSON Configurations objek.

Untuk menyediakan konfigurasi untuk grup instans, pilih klaster di daftar cluster Anda, lalu pilih tab Konfigurasi. Dalam tabel konfigurasi grup Instance, pilih grup instans yang akan diedit, lalu pilih Konfigurasi ulang.

Menyediakan konfigurasi menggunakan AWS CLI saat Anda membuat klaster

Anda dapat menyediakan konfigurasi create-cluster dengan menyediakan jalur ke JSON file yang disimpan secara lokal atau di Amazon S3. Contoh berikut mengasumsikan bahwa Anda menggunakan peran default untuk Amazon EMR dan bahwa peran telah dibuat. Jika Anda perlu membuat peran, jalankan aws emr create-default-roles terlebih dahulu.

Jika konfigurasi Anda ada di direktori lokal Anda, maka Anda dapat menggunakan contoh perintah berikut.

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

Jika konfigurasi Anda berada di jalur Amazon S3, Anda harus menyiapkan solusi berikut sebelum meneruskan jalur Amazon S3 ke perintah. create-cluster

#!/bin/sh # Assume the ConfigurationS3Path is not public, and its present in the same AWS account as the EMR cluster ConfigurationS3Path="s3://amzn-s3-demo-bucket/config.json" # Get a presigned HTTP URL for the s3Path ConfigurationURL=`aws s3 presign $ConfigurationS3Path --expires-in 300` # Fetch the presigned URL, and minify the JSON so that it spans only a single line Configurations=`curl $ConfigurationURL | jq -c .` aws emr create-cluster --use-default-roles --release-label emr-5.34.0 --instance-type m5.xlarge --instance-count 2 --applications Name=Hadoop Name=Spark --configurations $Configurations

Menyediakan konfigurasi menggunakan Java SDK saat Anda membuat cluster

Kutipan program berikut menunjukkan cara untuk menyediakan konfigurasi menggunakan 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") );