Setelah membuat kluster, Anda dapat menggunakan fitur eksekusi skrip manual untuk menjalankan skrip tertentu pada beberapa node guna memenuhi kebutuhan kustom. Topik ini menjelaskan cara menambahkan dan menjalankan skrip manual.
Informasi latar belakang
Fitur eksekusi skrip manual memungkinkan Anda segera menjalankan skrip tertentu pada beberapa node yang sudah ada. Fitur ini cocok untuk kluster berjalan lama. Untuk kluster sementara yang dibuat sesuai permintaan, gunakan tindakan bootstrap untuk menginisialisasi kluster. Untuk informasi selengkapnya tentang tindakan bootstrap, lihat Gunakan tindakan bootstrap untuk menjalankan skrip.
Eksekusi manual mirip dengan tindakan bootstrap. Setelah membuat kluster, Anda dapat menggunakan fitur eksekusi manual untuk menginstal perangkat lunak dan layanan yang belum didukung di kluster, seperti:
Menggunakan Yellowdog Updater, Modified (YUM) untuk menginstal perangkat lunak.
Mengunduh perangkat lunak dari Internet.
Membaca data dari Object Storage Service (OSS).
Menginstal dan menjalankan layanan, seperti komponen Pig, yang memerlukan skrip lebih kompleks.
Prasyarat
Kluster E-MapReduce telah dibuat. Untuk informasi selengkapnya, lihat Membuat kluster.
Kluster harus dalam status Berjalan. Anda tidak dapat menjalankan skrip kluster jika kluster berada dalam status lainnya.
Anda telah mengembangkan atau memperoleh skrip kluster dan mengunggahnya ke OSS. Untuk contohnya, lihat Contoh.
Catatan penggunaan
Catatan skrip yang dijalankan secara manual disimpan maksimal selama 60 hari.
Hanya satu skrip kluster yang dapat dijalankan dalam satu kluster pada satu waktu. Jika skrip kluster sedang berjalan, Anda tidak dapat mengirimkan skrip baru.
Skrip kluster mungkin berhasil di beberapa node dan gagal di node lainnya. Misalnya, skrip mungkin gagal karena node melakukan restart. Setelah menyelesaikan masalah tersebut, Anda dapat menjalankan ulang skrip hanya pada node yang sebelumnya gagal. Setelah melakukan penskalaan kluster, Anda juga dapat menjalankan skrip hanya pada node baru.
Prosedur
Buka tab Script Operation.
Masuk ke Konsol EMR. Di panel navigasi sebelah kiri, klik EMR on ECS.
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya berdasarkan kebutuhan bisnis Anda.
Temukan kluster yang ingin Anda kelola dan klik Services di kolom Actions.
Klik tab Script Operation.
Di halaman Script Operation, klik tab Manual Execution.
Klik Create And Execute.
Pada kotak dialog yang muncul, masukkan Name, pilih lokasi dari daftar drop-down Script Location, dan pilih cakupan dari daftar drop-down Execution Scope.
CatatanSaat menggunakan fitur skrip kluster, uji skrip terlebih dahulu pada satu node. Setelah pengujian berhasil, jalankan skrip pada seluruh kluster.
Jalur skrip harus dalam format oss://**/*.sh.
Setelah mengonfigurasi parameter, klik OK.
Setelah skrip dibuat, skrip tersebut ditambahkan ke daftar skrip dan statusnya menjadi Running. Status skrip yang mungkin adalah Running, Completed, dan Submission Failed.
Di kolom Actions, klik Details untuk melihat detail skrip.
Klik View Execution Result untuk melihat status eksekusi skrip.
Status skrip pada suatu node dapat berupa Waiting, Running, Completed, Failed, Submission Failed, atau Canceled.
Di kolom Actions, klik Delete untuk menghapus skrip.
Contoh
Seperti skrip tindakan bootstrap, Anda dapat menentukan file yang akan diunduh dari OSS dalam skrip kluster. Misalnya, unduh file contoh oss://<yourBucket>/<myFile>.tar.gz ke direktori lokal dan ekstrak ke direktori /yourDir.
#!/bin/bash
osscmd --id=<yourAccessKeyId> --key=<yourAccessKeySecret> --host=oss-cn-hangzhou-internal.aliyuncs.com get oss://<yourBucketName>/<yourFile>.tar.gz ./<yourFile>.tar.gz
mkdir -p /<yourDir>
tar -zxvf <yourFile>.tar.gz -C /<yourDir>Alamat OSS dapat berupa titik akhir internal, titik akhir publik, atau titik akhir virtual private cloud (VPC). Jika Anda menggunakan jaringan klasik, tentukan titik akhir internal. Misalnya, titik akhir internal untuk OSS di wilayah Tiongkok (Hangzhou) adalah oss-cn-hangzhou-internal.aliyuncs.com. Jika Anda menggunakan VPC, tentukan nama domain yang dapat diakses dari VPC tersebut. Misalnya, nama domain untuk OSS di wilayah Tiongkok (Hangzhou) adalah vpc100-oss-cn-hangzhou.aliyuncs.com.
Anda juga dapat menggunakan skrip kluster dengan YUM untuk menginstal paket sistem tambahan, seperti ld-linux.so.2.
#!/bin/bash
yum install -y ld-linux.so.2Secara default, skrip dijalankan oleh pengguna root. Anda juga dapat menggunakan perintah su hadoop dalam skrip untuk beralih ke pengguna hadoop.