E-MapReduce (EMR) memungkinkan Anda menggunakan tindakan bootstrap untuk menginstal perangkat lunak pihak ketiga dan memodifikasi lingkungan runtime kluster. Topik ini menjelaskan cara menambahkan tindakan bootstrap serta memberikan beberapa contoh.
Informasi latar belakang
Tindakan bootstrap memungkinkan sistem secara otomatis mengeksekusi skrip tertentu pada node baru saat kluster dibuat, diperluas, atau autoscaling dipicu. Fitur eksekusi manual juga memungkinkan Anda mengeksekusi skrip yang ditentukan pada beberapa node yang ada secara bersamaan sesuai kebutuhan. Untuk informasi lebih lanjut tentang eksekusi skrip secara manual, lihat Eksekusi Skrip Secara Manual.
Tindakan bootstrap mirip dengan skrip yang dieksekusi secara manual. Saat membuat kluster atau setelah kluster dibuat, Anda dapat menggunakan tindakan bootstrap untuk melakukan operasi yang tidak didukung oleh kluster EMR. Contohnya:
Menggunakan Yellowdog Updater, Modified (YUM) untuk menginstal perangkat lunak dengan paket instalasi yang tersedia.
Mengunduh perangkat lunak publik dari internet.
Membaca data dari Object Storage Service (OSS).
Menginstal dan menjalankan layanan seperti Flink atau Impala.
Batasan
Anda dapat menambahkan maksimal 10 tindakan bootstrap dalam sebuah kluster. Tindakan tersebut dilakukan sesuai urutan yang Anda tentukan.
Secara default, akun root digunakan untuk mengeksekusi skrip yang ditentukan. Anda juga dapat menjalankan perintah
su - hadoopdi dalam skrip untuk beralih ke pengguna hadoop.
Tambahkan tindakan bootstrap
Anda dapat menggunakan salah satu metode berikut untuk menambahkan tindakan bootstrap:
Metode 1: Tambahkan tindakan bootstrap saat Anda membuat kluster
Buka halaman EMR on ECS.
Masuk ke Konsol EMR. Di panel navigasi kiri, klik EMR on ECS.
Di bilah navigasi atas, pilih wilayah dan grup sumber daya sesuai kebutuhan bisnis Anda.
Di halaman EMR on ECS, klik Create Cluster.
Di bagian Advanced Settings pada langkah Basic Configuration, temukan Bootstrap Actions dan klik Add Bootstrap Action.
Konfigurasikan parameter yang dijelaskan dalam tabel berikut.
Parameter
Deskripsi
Action Name
Nama tindakan bootstrap yang ingin Anda tambahkan.
Script Path
Jalur OSS tempat file skrip berada.
Anda harus mengonfigurasi parameter ini dalam format oss://**/*.sh.
Parameter
Parameter skrip tindakan bootstrap. Parameter ini digunakan untuk menentukan nilai variabel yang direferensikan dalam skrip.
Execution Time
Before Component Installation: Sistem mengeksekusi skrip sebelum layanan diinstal.
Before Component Startup: Sistem mengeksekusi skrip sebelum layanan yang diinstal dimulai.
After Component Startup: Sistem mengeksekusi skrip setelah layanan yang diterapkan dimulai.
Execution Failure Policy
Proceed: Jika skrip gagal dieksekusi, sistem terus mengeksekusi skrip berikutnya. Ini tidak mempengaruhi pembuatan atau perluasan kluster.
Stop: Jika skrip gagal dieksekusi, sistem menghentikan eksekusi skrip. Pembuatan atau perluasan kluster gagal.
Execution Scope
Cakupan eksekusi. Nilai valid:
Cluster: Tindakan bootstrap berlaku untuk seluruh kluster.
Node Group Type: Tindakan bootstrap hanya berlaku untuk grup node jenis tertentu.
Anda dapat merujuk pada contoh tindakan bootstrap di Contoh.
CatatanTindakan bootstrap yang ditambahkan mungkin gagal dieksekusi. Namun, kegagalan tersebut tidak mempengaruhi pembuatan kluster.
Untuk informasi lebih lanjut, lihat Buat Kluster. Setelah kluster dibuat, Anda dapat memeriksa apakah ada pengecualian di tab Script Operation. Jika terjadi pengecualian, Anda dapat melihat log eksekusi skrip untuk pemecahan masalah.
Metode 2: Tambahkan tindakan bootstrap setelah Anda membuat kluster
Buka tab Operasi Skrip.
Masuk ke Konsol EMR. Di panel navigasi kiri, klik EMR on ECS.
Di bilah navigasi atas, pilih wilayah dan grup sumber daya sesuai kebutuhan bisnis Anda.
Temukan kluster yang ingin Anda kelola dan klik Layanan di kolom Aksi.
Klik tab Script Operation.
Pada tab Bootstrap Actions, klik Add Bootstrap Action.
Di kotak dialog Add Bootstrap Action, konfigurasikan parameter yang dijelaskan dalam tabel berikut.

Parameter
Deskripsi
Name
Nama tindakan bootstrap yang ingin Anda tambahkan.
Script Address
Jalur OSS tempat file skrip berada.
Anda harus mengonfigurasi parameter ini dalam format oss://**/*.sh.
Parameter
Parameter skrip tindakan bootstrap. Parameter ini digunakan untuk menentukan nilai variabel yang direferensikan dalam skrip.
Execution Scope
Cakupan eksekusi. Nilai valid:
Cluster: Tindakan bootstrap berlaku untuk seluruh cluster.
Node Group Type: Tindakan bootstrap hanya berlaku untuk grup node dari jenis yang Anda pilih.
Node Group: Tindakan bootstrap hanya berlaku untuk grup node yang Anda pilih.
Execution Time
Before Component Installation: Sistem mengeksekusi skrip sebelum layanan diinstal.
Before Component Startup: Sistem mengeksekusi skrip sebelum layanan yang diinstal dimulai.
After Component Startup: Sistem mengeksekusi skrip setelah layanan yang diterapkan dimulai.
Execution Failure Policy
Proceed: Jika skrip gagal dieksekusi, sistem terus mengeksekusi skrip berikutnya. Ini tidak mempengaruhi pembuatan atau perluasan kluster.
Stop: Jika skrip gagal dieksekusi, sistem menghentikan eksekusi skrip. Pembuatan atau perluasan kluster gagal.
Klik OK.
Anda dapat merujuk pada contoh tindakan bootstrap di Contoh.
Anda dapat melakukan operasi berikut pada tindakan bootstrap yang ada:
Edit tindakan bootstrap: Temukan tindakan bootstrap yang ingin Anda edit dan klik Edit di kolom Aksi.
Kloning tindakan bootstrap: Temukan tindakan bootstrap yang ingin Anda kloning dan klik Clone di kolom Aksi.
Hapus tindakan bootstrap: Temukan tindakan bootstrap yang ingin Anda hapus dan klik Delete di kolom Aksi.
Lihat log eksekusi skrip
Disarankan untuk menambahkan logika pencetakan log di lokasi yang diinginkan dalam skrip. Dengan cara ini, Anda dapat melihat status skrip berdasarkan log operasional.
Anda dapat melakukan operasi berikut untuk melihat log eksekusi skrip tindakan bootstrap di panel Riwayat Operasi:
Buka tab Layanan.
Masuk ke Konsol EMR.
Di panel navigasi kiri, klik EMR on ECS.
Di bilah navigasi atas, pilih wilayah dan grup sumber daya sesuai kebutuhan bisnis Anda.
Di halaman EMR on ECS, temukan kluster yang diinginkan dan klik Services di kolom Aksi.
Di tab Operasi Skrip, temukan skrip yang ingin Anda kelola, dan klik Lihat Hasil Eksekusi di kolom Aksi.
Di panel Operation History, temukan catatan operasi skrip tindakan bootstrap dan lihat detailnya.
DataLake, Dataflow, OLAP, DataServing, dan kluster kustom: Temukan catatan operasi create atau increaseNodeGroup dan klik
untuk melihat detail aktivitas. Tugas yang namanya dimulai dengan RUN_BOOTSTRAP_CLUSTER_SCRIPT_<Nama tindakan bootstrap>_<ID tindakan bootstrap>adalah aktivitas terkait tindakan bootstrap. Anda dapat melihat log Stdout dan Stderr.Kluster Hadoop, Data Science, dan EMR Studio: Temukan catatan operasi CREATE_CLUSTER atau RESIZE_CLUSTER dan klik
untuk melihat detail aktivitas. Tugas yang namanya dimulai dengan RUN_SCRIPT_HOST_** di bawah pollDeployTaskStatusActivity adalah aktivitas terkait tindakan bootstrap. Anda dapat melihat log eksekusi Stdout dan Stderr.
Contoh
Saat menambahkan tindakan bootstrap, Anda harus menentukan nama tindakan bootstrap, jalur OSS file skrip, dan parameter skrip sesuai kebutuhan bisnis Anda. Saat tindakan bootstrap dilakukan, setiap node mengunduh skrip dari jalur OSS yang ditentukan dan mengeksekusi skrip secara langsung atau berdasarkan parameter opsional. Bagian ini menyediakan dua contoh.
Contoh 1
Anda dapat menentukan file yang ingin Anda unduh dari OSS dalam skrip. Dalam contoh ini, Anda dapat menggunakan skrip berikut untuk mengunduh file <myFile>.tar.gz dari direktori oss://<yourBucket>/ dan mendekompres file tersebut ke direktori /<yourDir> di mesin lokal Anda.
PentingTitik akhir OSS dalam skrip bisa berupa titik akhir internal, publik, atau VPC. Jika Anda menggunakan jaringan klasik, Anda harus menentukan titik akhir internal. Sebagai contoh, titik akhir internal yang sesuai dengan wilayah China (Hangzhou) adalah oss-cn-hangzhou-internal.aliyuncs.com. Jika Anda menggunakan virtual private cloud (VPC), Anda harus menentukan titik akhir yang dapat Anda akses dari VPC. Sebagai contoh, titik akhir yang sesuai dengan wilayah China (Hangzhou) adalah vpc100-oss-cn-hangzhou.aliyuncs.com.
DataLake, Dataflow, OLAP, DataServing, dan kluster kustom
#!/bin/bash ossutil64 cp oss://<yourBucket>/<myFile>.tar.gz ./ -e oss-cn-hangzhou-internal.aliyuncs.com -i <yourAccessKeyId> -k <yourAccessKeySecret> mkdir -p /<yourDir> tar -zxvf <myFile>.tar.gz -C /<yourDir>Kluster Hadoop
#!/bin/bash osscmd --id=<yourAccessKeyId> --key=<yourAccessKeySecret> --host=oss-cn-hangzhou-internal.aliyuncs.com get oss://<yourBucket>/<myFile>.tar.gz ./ mkdir -p /<yourDir> tar -zxvf <myFile>.tar.gz -C /<yourDir>
Contoh 2
Anda dapat menggunakan YUM untuk menginstal perangkat lunak sistem tambahan. Sebagai contoh, Anda dapat menggunakan skrip berikut untuk menginstal ld-linux.so.2:
#!/bin/bash yum install -y ld-linux.so.2