全部产品
Search
文档中心

E-MapReduce:Peran aplikasi ECS (digunakan di EMR V3.32.0 atau versi minor lebih lama, atau EMR V4.5.0 atau versi minor lebih lama)

更新时间:Jul 02, 2025

E-MapReduce (EMR) menyediakan MetaService, yang berfungsi sebagai peran aplikasi ECS khusus. Di EMR V3.32.0 dan versi sebelumnya serta di EMR V4.5.0 dan versi sebelumnya, saat membuat kluster, peran ini secara otomatis terikat ke kluster Anda. Aplikasi yang berjalan di kluster EMR menggunakan peran ini untuk mengakses sumber daya Alibaba Cloud lainnya tanpa memerlukan sepasang AccessKey, sehingga menghindari risiko pengungkapan AccessKey dalam file konfigurasi.

Prasyarat

Peran ini telah diberi otorisasi. Untuk informasi lebih lanjut, lihat Menetapkan Peran ke Akun Alibaba Cloud.

Informasi latar belakang

MetaService memungkinkan Anda mengakses Object Storage Service (OSS), Log Service, dan Message Service (MNS) tanpa memerlukan sepasang AccessKey.

Izin

Peran default AliyunEmrEcsDefaultRole dikonfigurasikan dengan kebijakan AliyunEmrECSRolePolicy. Tabel berikut menjelaskan izin terkait OSS.
Izin (Aksi)Deskripsi
oss:PutObjectMengunggah file atau folder.
oss:GetObjectMeminta file atau folder.
oss:ListObjectsMeminta file.
oss:DeleteObjectMenghapus file.
oss:ListBucketsMeminta bucket.
oss:AbortMultipartUploadMengakhiri acara unggah multipart.
oss:ListMultipartUploadsMeminta semua acara unggah multipart yang sedang berlangsung.
oss:RestoreObjectMengembalikan objek Arsip atau Penyimpanan Arsip Dingin.
oss:GetBucketInfoMeminta informasi tentang bucket.
oss:ListObjectVersionsMeminta versi semua objek dalam bucket, termasuk penanda hapus.
oss:DeleteObjectVersionMenghapus versi tertentu dari objek.
oss:PostDataLakeStorageFileOperationMengakses OSS-HDFS.
ots:CreateTableMembuat tabel berdasarkan skema tabel yang ditentukan.
ots:DeleteTableMenghapus tabel tertentu dari instance saat ini.
ots:GetRowMembaca data dalam satu baris berdasarkan kunci utama tertentu.
ots:PutRowMenyisipkan data ke baris tertentu.
ots:UpdateRowMemperbarui data dalam baris tertentu.
ots:DeleteRowMenghapus baris data.
ots:GetRangeMembaca data dalam rentang nilai tertentu dari kunci utama.
ots:BatchWriteRowMenyisipkan, memodifikasi, atau menghapus beberapa baris data dari satu atau lebih tabel sekaligus.
ots:BatchGetRowMembaca beberapa baris data dari satu atau lebih tabel sekaligus.
ots:ComputeSplitPointsBySizeSecara logis membagi data dalam tabel menjadi beberapa shard yang ukurannya mendekati ukuran yang ditentukan, dan mengembalikan titik pemisah antar shard dan prompt tentang host tempat partisi berada.
ots:StartLocalTransactionMembuat transaksi lokal berdasarkan nilai kunci partisi yang ditentukan dan meminta ID transaksi lokal.
ots:CommitTransactionMenyelesaikan transaksi lokal.
ots:AbortTransactionMengakhiri transaksi lokal.
dlf:BatchCreatePartitionsMembuat beberapa partisi sekaligus.
dlf:BatchCreateTablesMembuat beberapa tabel sekaligus.
dlf:BatchDeletePartitionsMenghapus beberapa partisi sekaligus.
dlf:BatchDeleteTablesMenghapus beberapa tabel sekaligus.
dlf:BatchGetPartitionsMeminta informasi tentang beberapa partisi sekaligus.
dlf:BatchGetTablesMeminta informasi tentang beberapa tabel sekaligus.
dlf:BatchUpdatePartitionsMemperbarui beberapa partisi sekaligus.
dlf:BatchUpdateTablesMemperbarui beberapa tabel sekaligus.
dlf:CreateDatabaseMembuat database.
dlf:CreateFunctionMembuat fungsi.
dlf:CreatePartitionMembuat partisi.
dlf:CreateTableMembuat tabel.
dlf:DeleteDatabaseMenghapus database.
dlf:DeleteFunctionMenghapus fungsi.
dlf:DeletePartitionMenghapus partisi.
dlf:DeleteTableMenghapus tabel.
dlf:GetDatabaseMeminta informasi tentang database.
dlf:GetFunctionMeminta informasi tentang fungsi.
dlf:GetPartitionMeminta informasi tentang partisi.
dlf:GetTableMeminta informasi tentang tabel.
dlf:ListCatalogsMeminta katalog.
dlf:ListDatabasesMeminta database.
dlf:ListFunctionNamesMeminta nama fungsi.
dlf:ListFunctionsMeminta fungsi.
dlf:ListPartitionNamesMeminta nama partisi.
dlf:ListPartitionsMeminta partisi.
dlf:ListPartitionsByExprMeminta partisi tabel metadata berdasarkan kondisi.
dlf:ListPartitionsByFilterMeminta partisi tabel metadata berdasarkan kondisi.
dlf:ListTableNamesMeminta nama tabel.
dlf:ListTablesMeminta tabel.
dlf:RenamePartitionMengganti nama partisi.
dlf:RenameTableMengganti nama tabel.
dlf:UpdateDatabaseMemperbarui database.
dlf:UpdateFunctionMemperbarui fungsi.
dlf:UpdateTableMemperbarui tabel.
dlf:UpdateTableColumnStatisticsMemperbarui statistik tabel metadata.
dlf:GetTableColumnStatisticsMeminta statistik tabel metadata.
dlf:DeleteTableColumnStatisticsMenghapus statistik tabel metadata.
dlf:UpdatePartitionColumnStatisticsMemperbarui statistik partisi.
dlf:GetPartitionColumnStatisticsMeminta statistik partisi.
dlf:DeletePartitionColumnStatisticsMenghapus statistik partisi.
dlf:BatchGetPartitionColumnStatisticsMeminta statistik beberapa partisi sekaligus.
dlf:CreateLockMembuat kunci metadata.
dlf:UnLockMembuka kunci metadata tertentu.
dlf:AbortLockMengakhiri kunci metadata.
dlf:RefreshLockMemperbarui kunci metadata.
dlf:GetLockMeminta informasi tentang kunci metadata.
dlf:GetAsyncTaskStatusMeminta status tugas asinkron.
dlf:DeltaGetPermissionsMeminta izin.
dlf:GetPermissionsMeminta informasi tentang izin data.
dlf:GetServiceInfoMeminta informasi tentang layanan.
dlf:GetRolesMeminta informasi tentang peran dalam izin data.
dlf:CheckPermissionsMemverifikasi izin data.
Penting Ubah atau hapus peran AliyunEmrEcsDefaultRole dengan hati-hati. Jika tidak, pembuatan kluster dapat gagal atau pekerjaan tidak dapat dijalankan.

Sumber data yang mendukung MetaService

MetaService memungkinkan Anda mengakses OSS, Log Service, dan MNS. Anda dapat menggunakan SDK EMR di kluster EMR untuk membaca dan menulis data ke sumber daya tersebut tanpa memerlukan sepasang AccessKey.

Secara default, hanya akses ke OSS yang diaktifkan. Jika ingin membaca dan menulis data ke Log Service dan MNS, masuk ke Konsol RAM dan konfigurasikan izin yang diperlukan untuk peran AliyunEmrEcsDefaultRole. Untuk informasi lebih lanjut, lihat Konsol RAM.

Untuk informasi lebih lanjut tentang cara memberi otorisasi pada peran RAM, lihat Memberikan Izin kepada Peran RAM.

Menggunakan MetaService

MetaService memungkinkan Anda mengakses OSS, Log Service, dan MNS tanpa memerlukan sepasang AccessKey. MetaService memberikan manfaat berikut:
  • Mengurangi risiko kebocoran informasi AccessKey. Untuk meminimalkan risiko keamanan, berikan otorisasi peran di Konsol RAM berdasarkan prinsip hak istimewa minimal.
  • Meningkatkan pengalaman pengguna. MetaService mempersingkat jalur OSS yang perlu dimasukkan selama akses interaktif ke sumber daya OSS.
  • Memberikan manfaat berikut untuk layanan di kluster EMR Anda:

    Pekerjaan yang dijalankan di layanan tersebut dapat mengakses sumber daya Alibaba Cloud (OSS, Log Service, dan MNS) tanpa memerlukan sepasang AccessKey.

    Perbandingan operasi sebelum dan sesudah MetaService digunakan:
    • Jalankan perintah hadoop fs -ls untuk melihat data OSS.
      • MetaService tidak digunakan:
        hadoop fs -ls oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c
      • MetaService digunakan:
        hadoop fs -ls oss://bucket/a/b/c
    • Buat tabel eksternal di Hive.
      • MetaService tidak digunakan:
        CREATE EXTERNAL TABLE test_table(id INT, name string)
                ROW FORMAT DELIMITED
                FIELDS TERMINATED BY '/t'
                LOCATION 'oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c';
      • MetaService digunakan:
        CREATE EXTERNAL TABLE test_table(id INT, name string)
                ROW FORMAT DELIMITED
                FIELDS TERMINATED BY '/t'
                LOCATION 'oss://bucket/a/b/c';
    • Gunakan Spark untuk melihat data OSS.
      • MetaService tidak digunakan:
        val data = sc.textFile("oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c")
      • MetaService digunakan:
        val data = sc.textFile("oss://bucket/a/b/c")
  • Memberikan manfaat berikut untuk layanan yang diterapkan sendiri:
    MetaService adalah layanan HTTP. Anda dapat mengakses URL layanan HTTP ini untuk mendapatkan kredensial sementara Security Token Service (STS). Kemudian, Anda dapat menggunakan kredensial sementara STS untuk mengakses sumber daya Alibaba Cloud tanpa memerlukan sepasang AccessKey di sistem yang dikelola sendiri.
    Penting Kredensial sementara STS baru dihasilkan 30 menit sebelum kredensial saat ini kedaluwarsa. Kedua kredensial STS dapat digunakan dalam waktu 30 menit.

    Sebagai contoh, Anda dapat menjalankan curl http://localhost:10011/cluster-region untuk mendapatkan wilayah tempat kluster Anda berada.

    Anda dapat menggunakan MetaService untuk mendapatkan informasi berikut:
    • Wilayah: /cluster-region
    • Nama peran: /cluster-role-name
    • ID AccessKey: /role-access-key-id
    • Rahasia AccessKey: /role-access-key-secret
    • Token keamanan: /role-security-token
    • Tipe jaringan: /cluster-network-type