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 menggunakan konsol Amazon EMR, AWS Command Line Interface (AWS CLI), atau SDK. AWS

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

Klasifikasi konfigurasi bervariasi menurut versi rilis Amazon EMR. 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, arahkan ke halaman Buat klaster dan pilih Edit pengaturan perangkat lunak. Anda kemudian dapat memasukkan konfigurasi secara langsung dengan menggunakan JSON atau sintaks singkat yang ditunjukkan dalam teks bayangan di konsol tersebut. Jika tidak, Anda dapat memberikan URI Amazon S3 untuk file dengan objek Configurations JSON.

Untuk menyediakan konfigurasi untuk grup instans, arahkan ke halaman Konfigurasi Perangkat Keras. Di bawah kolom Tipe instans pada tabel Tipe simpul, pilih untuk mengedit Konfigurasi untuk aplikasi untuk setiap grup instans.

Sediakan konfigurasi menggunakan AWS CLI saat Anda membuat sebuah klaster

Anda dapat menyediakan konfigurasi untuk create-cluster dengan menyediakan path ke file JSON yang disimpan secara lokal atau di Amazon S3. Contoh berikut mengasumsikan bahwa Anda menggunakan peran default untuk Amazon EMR dan bahwa peran tersebut 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.0.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://my-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

Sediakan konfigurasi menggunakan Java SDK ketika Anda membuat sebuah klaster

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") );