E-MapReduce (EMR) memungkinkan Anda mengonfigurasi peran aplikasi ECS kustom di bagian Pengaturan Lanjutan selama pembuatan kluster di konsol EMR. Anda dapat menggunakan peran ini untuk mengakses sumber daya cloud lainnya, seperti Object Storage Service (OSS) dan Log Service, dalam akun Alibaba Cloud Anda secara tanpa kata sandi. Topik ini menjelaskan cara membuat dan menggunakan peran aplikasi ECS kustom.
Informasi latar belakang
- Kluster hanya dapat mengakses direktori data OSS yang telah ditentukan.
- Kluster dapat mengakses sumber daya eksternal yang telah ditentukan.
Prasyarat
Bucket OSS dibuat di konsol OSS. Pastikan bucket tersebut berada di wilayah tempat Anda ingin membuat kluster EMR. Untuk informasi lebih lanjut tentang cara membuat bucket, lihat Buat Bucket.
Prosedur
Langkah 1: Buat kebijakan
Pergi ke halaman Buat Kebijakan.
Masuk ke konsol RAM menggunakan akun Alibaba Cloud.
Di panel navigasi sisi kiri, pilih .
Di halaman Policies, klik Create Policy.
Di halaman Create Policy, klik tab JSON.
Masukkan isi kebijakan dan klik OK.
Masukkan isi kebijakan berikut di editor skrip:
{ "Version": "1", "Statement": [ { "Action": [ "oss:GetObject", "oss:ListObjects" ], "Resource": [ "acs:oss:*:*:emr-logs2", "acs:oss:*:*:emr-logs2/*" ], "Effect": "Allow" } ] }CatatanElemen dalam kebijakan:
Action: tindakan pada sumber daya. Dalam contoh ini, izin untuk membaca dan menanyakan data OSS diberikan.
Resource: sumber daya tempat izin diberikan. Dalam contoh ini, Bucket OSS emr-logs2 dan objek dalam Bucket OSS ini digunakan sebagai sumber daya.
Untuk informasi lebih lanjut tentang elemen dasar kebijakan, lihat Elemen Dasar Kebijakan.
Konfigurasikan parameter Name di bagian Informasi Dasar untuk menentukan nama kebijakan.
Dalam contoh ini, nama tersebut adalah test-emr.
Klik OK.
Langkah 2: Buat peran RAM
Di panel navigasi sisi kiri konsol RAM, pilih .
Di halaman Roles, klik Create Role.
Buat peran RAM.
Di langkah Pilih Jenis Peran, pilih Alibaba Cloud Service untuk Pilih Entitas Tepercaya.
Klik Next.
Di langkah Configure Role, konfigurasikan parameter.
Parameter
Deskripsi
RAM Role Name
Dalam contoh ini, nama tersebut adalah test-emr.
Select Trusted Service
Pilih Elastic Compute Service dari daftar drop-down.
Klik OK.
Opsional. Ubah layanan tepercaya.
PentingJika Anda ingin membuat kluster EMR V5.X atau lebih baru, versi minor setelah EMR V4.5, atau versi minor setelah EMR V3.32, lewati langkah ini.
Di halaman Roles, klik name peran RAM yang Anda buat.
Klik tab Trust Policy.
Klik Edit Trust Policy.
Ubah
ecs.aliyuncs.commenjadiemr.aliyuncs.com.
Klik Save trust policy document.
Tambahkan izin yang diperlukan.
Di halaman Roles, temukan RAM role yang Anda buat dan klik Grant Permission di kolom Tindakan.
Di panel Grant Permission, pilih Custom Policy dari daftar drop-down di bagian Kebijakan dan pilih kebijakan yang Anda buat di Langkah 1.
Klik Grant permissions.
Klik Close.
Langkah 3: Buat kluster dan akses sumber daya eksternal
Masuk ke konsol EMR. Di panel navigasi sisi kiri, klik EMR on ECS.
Di bilah navigasi atas, pilih wilayah tempat kluster Anda berada dan pilih grup sumber daya berdasarkan kebutuhan bisnis Anda.
Di halaman EMR on ECS, klik Create Cluster. Di bagian Advanced Settings dari langkah Basic Configuration, masukkan nama peran RAM yang Anda buat di Langkah 2: Buat Peran RAM. Untuk informasi lebih lanjut, lihat Buat Kluster.

Setelah kluster dibuat, masuk ke kluster menggunakan SSH. Untuk informasi lebih lanjut, lihat Masuk ke Kluster.
Jalankan perintah berikut untuk memeriksa apakah Anda dapat mengakses Bucket OSS yang ditentukan dalam kebijakan:
hdfs dfs -ls oss://<yourBucketName>/CatatanGanti <yourBucketName> dalam perintah dengan nama Bucket OSS.
Jika Anda tidak memiliki izin untuk mengakses bucket, akses ke Bucket OSS akan ditolak.
Jika Anda memiliki izin untuk mengakses bucket, akses ke Bucket OSS diizinkan.
Tanya Jawab Umum
- Pertanyaan: Apa yang harus saya lakukan jika pesan NoPermission muncul saat saya membuat kluster?Jawaban: Lakukan operasi berikut secara berurutan untuk menyelesaikan masalah:
- Periksa apakah pengguna RAM yang Anda gunakan untuk membuat kluster memiliki otorisasi untuk membuat kluster dan mengubah peran aplikasi ECS. Jika pengguna RAM diberi izin AliyunEMRDevelopAccess, Anda harus mengubah izin tersebut menjadi AliyunEMRFullAccess.
- Periksa apakah nama peran aplikasi ECS yang Anda tentukan saat membuat kluster valid.
- Periksa apakah kebijakan kepercayaan diubah menjadi emr.aliyuncs.com.
Pertanyaan: Apa yang harus saya lakukan jika saya tidak dapat mengakses Bucket OSS dari Hadoop Distributed File System (HDFS)?
Jawaban: Lakukan operasi berikut secara berurutan untuk menyelesaikan masalah:
Periksa apakah Bucket OSS yang ingin Anda akses berada di wilayah yang sama dengan kluster Anda. Jika Bucket OSS dan kluster Anda tidak berada di wilayah yang sama, Anda harus menambahkan titik akhir Bucket OSS ke tautan akses.
Periksa apakah Bucket OSS yang ingin Anda akses adalah salah satu sumber daya yang ditentukan dalam kebijakan yang dibuat. Jika Bucket OSS bukan salah satu sumber daya, ubah kebijakan.
Periksa apakah izin terkait pada Bucket OSS dikonfigurasi di konsol OSS. Jika izin dikonfigurasi, Anda harus membatalkan pengaturan di konsol OSS dan menentukan Action dalam kebijakan untuk mengonfigurasi izin.