Setelah membuat kluster, Anda dapat menggunakan eksekusi manual untuk menjalankan skrip pada node yang dipilih. Topik ini menjelaskan cara menambahkan dan menjalankan skrip tersebut.
Informasi latar belakang
Eksekusi manual memungkinkan Anda segera menjalankan skrip tertentu pada node yang dipilih dalam kluster yang sudah ada. Fitur ini dirancang untuk kluster berjalan lama. Untuk kluster on-demand sementara, gunakan tindakan bootstrap untuk menginisialisasi kluster. Untuk informasi selengkapnya, lihat Jalankan skrip menggunakan tindakan bootstrap.
Seperti halnya tindakan bootstrap, Anda dapat menggunakan eksekusi manual untuk menginstal perangkat lunak dan layanan yang belum didukung oleh kluster. Misalnya, Anda dapat:
-
Menginstal paket perangkat lunak yang tersedia menggunakan YUM.
-
Mengunduh perangkat lunak publik dari internet.
-
Membaca data Anda dari OSS.
-
Menginstal dan menjalankan layanan, seperti komponen Pig. Hal ini mungkin memerlukan skrip yang lebih kompleks.
Prasyarat
-
Anda telah membuat kluster. Untuk informasi selengkapnya, lihat Buat kluster.
-
Kluster harus dalam status running.
-
Anda telah mengembangkan atau memperoleh skrip kluster dan mengunggahnya ke OSS. Untuk contoh, lihat Contoh.
Pertimbangan
-
Catatan eksekusi manual disimpan hingga 60 hari.
-
Hanya satu skrip kluster yang dapat dijalankan pada kluster dalam satu waktu.
-
Skrip kluster mungkin berhasil di beberapa node dan gagal di node lain. Misalnya, restart node dapat menyebabkan skrip gagal. Setelah masalah terselesaikan, Anda dapat menjalankan ulang skrip hanya pada node yang gagal. Setelah melakukan scale-out kluster, Anda juga dapat menjalankan skrip kluster hanya pada node yang baru ditambahkan.
Prosedur
-
Buka halaman Script Operation.
-
Login ke Konsol E-MapReduce.
-
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya.
-
Klik Services untuk kluster target.
-
Klik tab Script Operation.
-
-
Di halaman Script Operation, klik tab Manual Execution.
-
Klik Create and Execute.
-
Di kotak dialog, masukkan Name, pilih skrip dari daftar drop-down Script Address, dan tentukan Execution Scope.
Catatan-
Sebagai praktik terbaik, uji skrip kluster pada satu node sebelum menjalankannya di seluruh kluster.
-
Jalur skrip harus dalam format
oss://**/*.sh.
-
-
Setelah mengonfigurasi parameter, klik OK.
Setelah skrip kluster dibuat, skrip tersebut akan muncul dalam daftar skrip dan masuk ke status running. Status skrip yang mungkin adalah Running, Complete, dan Submit Failed.
-
Untuk melihat detail skrip yang dieksekusi secara manual, klik Details di kolom Actions.
-
Untuk memeriksa status eksekusi skrip, klik View Execution Result di samping nama skrip.
Status skrip pada setiap node dapat berupa Waiting, Running, Complete, Failed, Submit Failed, atau Cancel.
-
Untuk menghapus skrip yang dieksekusi secara manual, klik Delete di kolom Actions.
-
Contoh
Seperti skrip tindakan bootstrap, Anda dapat menentukan file yang akan diunduh dari OSS dalam skrip kluster Anda. Contoh berikut menunjukkan cara mengunduh file oss://<yourBucket>/<myFile>.tar.gz dan mengekstraknya 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>
OSS menyediakan titik akhir internal, publik, dan VPC. Jika kluster Anda berada di jaringan klasik, Anda harus menentukan titik akhir internal. Misalnya, titik akhir internal untuk wilayah China (Hangzhou) adalah oss-cn-hangzhou-internal.aliyuncs.com. Jika kluster Anda berada di VPC, Anda harus menentukan titik akhir yang dapat diakses dari VPC, seperti vpc100-oss-cn-hangzhou.aliyuncs.com untuk wilayah China (Hangzhou).
Anda juga dapat menggunakan skrip kluster untuk menginstal paket sistem tambahan menggunakan YUM. Misalnya, Anda dapat menginstal ld-linux.so.2.
#!/bin/bash
yum install -y ld-linux.so.2
Secara default, kluster menjalankan skrip Anda sebagai pengguna root. Anda juga dapat menggunakan perintah su hadoop untuk beralih ke pengguna hadoop dalam skrip Anda.