Gateway terutama digunakan untuk mengirimkan job ke kluster komputasi dan menyediakan isolasi keamanan. Untuk menyederhanakan penerapan lingkungan gateway, E-MapReduce menyediakan alat bernama EMR-CLI yang memanfaatkan Elastic Compute Service (ECS) Alibaba Cloud untuk membuat instance dan menerapkan lingkungan gateway. Jika Anda memiliki kluster DataLake, Dataflow, atau OLAP, rujuk topik ini untuk menerapkan lingkungan gateway.
Opsi penerapan Gateway
Gateway merupakan lapisan isolasi untuk pengiriman job yang disediakan oleh EMR. Manfaat utamanya meliputi:
-
Pisahkan beban kerja client dari layanan inti kluster
Mengalihkan operasi client seperti
spark-submit,hive -f, danyarn applicationdari node master. -
Aktifkan isolasi di lingkungan multi-tenant
Mendukung lingkungan runtime terpisah untuk pengguna atau departemen.
-
Tingkatkan stabilitas dan kemudahan pemeliharaan kluster
Mencegah pengiriman job yang sering, debugging skrip, konflik lingkungan, atau konflik sumber daya memengaruhi layanan kritis seperti YARN ResourceManager dan HDFS NameNode.
EMR menawarkan tiga opsi Gateway untuk menyesuaikan berbagai jenis kluster, versi, dan kebutuhan arsitektur.
|
Opsi |
Jenis dan versi kluster yang didukung |
Penerapan dan fitur utama |
Kasus penggunaan dan rekomendasi |
|
Gateway node group |
Hanya mendukung kluster berikut:
|
• Tambahkan grup node baru ke kluster yang sudah ada. Untuk informasi selengkapnya, lihat Manage node groups. |
Sangat direkomendasikan: Gunakan opsi ini untuk menambahkan titik masuk pengiriman yang aman dan terisolasi ke kluster DataLake atau DataFlow yang sudah ada. Opsi ini menawarkan biaya pemeliharaan terendah dan memastikan konsistensi konfigurasi tinggi. |
|
Gateway environment |
Mendukung kluster DataLake, DataFlow, Kustom, dan OLAP. |
• Terapkan secara manual pada instance ECS. Untuk detailnya, lihat Use the EMR CLI to customize a Gateway environment deployment. |
Alternatif standar ketika kluster Anda tidak mendukung Gateway node group. |
|
Gateway cluster |
Hanya mendukung kluster Hadoop dan Kafka. |
|
Cocok untuk kluster Hadoop dan Kafka. |
Prasyarat
Kluster komputasi E-MapReduce untuk skenario DataLake, Dataflow, OLAP, atau Kustom harus sedang berjalan. Untuk petunjuk pembuatan kluster, lihat Create a cluster.
Batasan
-
Jenis kluster: Solusi ini hanya berlaku untuk menerapkan lingkungan gateway pada kluster DataLake, Dataflow, OLAP, dan Kustom. Jika jenis dan versi kluster kompatibel, penggunaan gateway node group direkomendasikan.
Untuk informasi tentang menerapkan lingkungan gateway pada kluster Hadoop dan Kafka yang sudah ada, lihat Create a gateway cluster.
CatatanHanya akun Alibaba Cloud yang membuat kluster Hadoop atau Kafka sebelum pukul 17.00 (UTC+8) pada 19 Desember 2022 yang dapat terus membuat kluster tersebut.
-
Pemasangan ulang (overwrite installation): EMR-CLI menerapkan client gateway dalam mode overwrite. Penerapan ulang pada instance ECS yang sudah memiliki gateway akan menimpa client lama dan menginstal client baru di direktori yang sama.
-
Penerapan terisolasi: Jangan gunakan instance ECS yang sudah ada dari kluster EMR Anda (misalnya, node Master, Core, atau Task) sebagai node gateway. Hal ini mencegah lingkungan client mengganggu operasi normal kluster.
-
Layanan yang didukung: Metode penerapan ini mendukung client untuk layanan berikut: HDFS, YARN, HBase, Hive, Spark 2, Spark 3, JindoSDK, Flink, Sqoop, Impala, Presto, Hudi, Iceberg, Tez, dan Delta Lake.
Penerapan pertama kali
-
Di Konsol ECS, buat instance. Untuk informasi selengkapnya, lihat Create an instance by using the wizard.
CatatanInstance ECS tidak memerlukan akses jaringan publik.
Pengaturan parameter berikut direkomendasikan.
Parameter
Deskripsi
Region dan zona
Wilayah dan zona yang sama dengan kluster EMR.
Image
Sistem operasi yang sama dengan instans kluster EMR.
Disk sistem
ESSD minimal 60 GiB direkomendasikan.
Jaringan
Virtual Private Cloud (VPC) yang sama dengan kluster EMR.
Security group
Gunakan security group yang sama dengan grup node master kluster EMR. Hal ini memastikan konektivitas jaringan antara instance ECS dan kluster EMR.
-
Buat peran RAM ECS khusus untuk gateway EMR.
-
Masuk ke RAM console sebagai administrator RAM.
-
Di panel navigasi kiri, pilih .
-
Di halaman Role, klik Create Role.
-
Di panel Create Role, atur Principal Type ke Cloud Service dan Principal Name ke Elastic Compute Service, lalu klik OK.
-
Masukkan Role Name (misalnya, ECSForEMRGatewayRole), lalu klik OK.
-
-
Berikan izin kepada peran RAM.
-
Di tab Permission Settings, klik Add Authorization.
-
Di panel Add Authorization, pilih System Policy. Cari dan pilih AliyunEMRFullAccess, AliyunOSSFullAccess, dan AliyunDLFFullAccess. Lalu, klik OK.
-
Klik Close.
-
-
Sambungkan peran RAM ke instance ECS.
Masuk ke ECS console.
-
Di bilah navigasi kiri, pilih .
-
Di bilah menu atas, pilih wilayah.
-
Temukan instance ECS yang baru dibuat dan pilih .
-
Di kotak dialog yang muncul, pilih peran ECSForEMRGatewayRole dan klik OK.
-
Sambungkan ke instance ECS. Untuk informasi selengkapnya, lihat Connect to an instance.
-
Jalankan perintah berikut untuk menginstal EMR-CLI.
regionId=`curl http://100.100.100.200/latest/meta-data/region-id`; curl https://ecm-repo-${regionId}.oss-${regionId}-internal.aliyuncs.com/emrcli/emrcli.sh -o /tmp/emrcli.sh; chmod 755 /tmp/emrcli.sh; sh /tmp/emrcli.sh install ${regionId}Pemasangan yang berhasil mengembalikan pesan berikut:
install emrcli success -
Jalankan perintah berikut untuk menerapkan client gateway EMR.
emrcli gateway deploy \ --clusterId <ClusterId> \ --appNames <ApplicationName>Ganti parameter berikut dengan nilai aktual Anda.
Parameter
Wajib
Deskripsi
clusterId
Ya
ID kluster E-MapReduce Anda.
appNames
Tidak
Nama aplikasi. Untuk menentukan beberapa aplikasi, pisahkan nama dengan koma (,), misalnya,
HDFS,YARN.Jika parameter ini dihilangkan, client untuk semua aplikasi yang didukung di kluster, seperti Hive dan HDFS, akan diinstal secara default.
Penerapan yang berhasil mengembalikan pesan berikut:
deployGateway successPentingSetelah gateway diinstal, variabel lingkungan sistem
JAVA_HOMEdiatur ke/usr/lib/jvm/java-1.8.0. Anda dapat mengubahnya di file /etc/profile.d/emr_env.sh, tetapi hal ini dapat memengaruhi fungsionalitas gateway. Lakukan dengan hati-hati. -
Masuk kembali ke instance ECS untuk menerapkan variabel lingkungan baru.
-
Opsional: Konfigurasikan resolusi DNS untuk node gateway.
PentingLangkah ini wajib jika gateway mencakup layanan Spark.
-
Tambahkan zona. Untuk informasi selengkapnya, lihat Add a built-in authoritative zone.
-
Tambahkan rekaman DNS. Untuk informasi selengkapnya, lihat Add DNS records.
Tabel berikut menjelaskan parameter yang diperlukan.
Parameter
Deskripsi
Record type
Gunakan nilai default A.
Hostname
Masukkan hostname node gateway, misalnya, iZ2zea8r0aht2vzbqci****.
Anda dapat memperoleh hostname dengan menjalankan perintah
hostname.Record value
Masukkan alamat IP internal node gateway.
Anda dapat melihat alamat ini di halaman manajemen node.
TTL value
Gunakan nilai default.
-
Manajemen gateway
Setelah membuat gateway, jika Anda menambahkan layanan baru ke kluster terkait atau mengubah konfigurasi layanan, Anda dapat menjalankan perintah untuk memperbarui komponen client atau menyinkronkan konfigurasi terbaru.
Perbarui komponen client
Jika layanan baru, seperti Flink, ditambahkan ke kluster EMR, Anda dapat menginstal client yang sesuai secara inkremental pada node gateway. Perintah deploy akan menimpa konfigurasi aplikasi yang sudah ada dan menginstal yang baru secara inkremental.
# Contoh: Tambahkan client FLINK ke pengaturan HDFS dan YARN yang sudah ada
emrcli gateway deploy \
--clusterId <ClusterId> \
--appNames HDFS,YARN,FLINK
Pembaruan yang berhasil mengembalikan pesan berikut:
deployGateway success
Sinkronkan konfigurasi
Jika Anda mengubah konfigurasi layanan di kluster EMR (misalnya, Anda memodifikasi core-site.xml di Konsol E-MapReduce), Anda harus menyinkronkan secara manual konfigurasi baru tersebut ke node gateway.
Menyinkronkan konfigurasi akan menimpa konfigurasi yang ada di gateway. Lakukan dengan hati-hati.
# Jalankan perintah sinkronisasi
emrcli gateway refreshConfigs \
--clusterId <ClusterId> \
--appNames <ApplicationName> # Opsional. Tentukan aplikasi yang akan disinkronkan.
Sinkronisasi yang berhasil mengembalikan pesan berikut:
refreshConfiguration success
Manajemen EMR-CLI
Lihat versi EMR-CLI
Jalankan perintah berikut untuk melihat versi EMR-CLI.
emrcli version
Perintah tersebut mengembalikan informasi seperti berikut:
2.0.0
Upgrade EMR-CLI
Untuk meningkatkan ke versi terbaru, jalankan kembali langkah instalasi EMR-CLI di Deploy a gateway environment for the first time.
FAQ
T: Bagaimana cara mengganti kluster komputasi?
J: Untuk mengganti kluster komputasi, ikuti langkah-langkah berikut:
-
Untuk mencegah kehilangan data, gunakan perintah
mvuntuk mencadangkan file dari kluster lama secara manual. Cadangkan direktori/opt/apps, direktori/etc/taihao-apps, dan file/etc/profile.d/yarn.sh. -
Ikuti langkah-langkah dalam topik ini untuk menerapkan ulang lingkungan gateway untuk kluster baru.
> Instance Settings > Attach/Detach RAM Role