Tindakan bootstrap memungkinkan Anda menginstal perangkat lunak pihak ketiga yang diperlukan atau memodifikasi lingkungan runtime kluster. Topik ini menjelaskan cara menambahkannya dan menyediakan contoh.
Informasi latar belakang
Tindakan bootstrap secara otomatis menjalankan skrip tertentu pada node yang baru ditambahkan saat Anda membuat, melakukan scale-out, atau mengaktifkan auto scaling untuk kluster. Anda juga dapat memilih dan menjalankan skrip tertentu secara manual dalam batch pada node yang sudah ada untuk memenuhi kebutuhan kustom. Untuk informasi selengkapnya tentang menjalankan skrip secara manual, lihat Jalankan skrip secara manual.
Seperti halnya eksekusi manual, Anda dapat menggunakan tindakan bootstrap selama atau setelah pembuatan kluster untuk melakukan operasi yang tidak didukung secara native oleh EMR, seperti:
-
Menginstal perangkat lunak yang tersedia melalui Yum.
-
Mengunduh perangkat lunak publik dari internet.
-
Membaca data Anda dari OSS.
-
Menginstal dan menjalankan komponen, seperti Flink atau Impala.
Batasan
-
Anda dapat menambahkan maksimal 10 tindakan bootstrap. Tindakan tersebut dijalankan sesuai urutan yang Anda tentukan.
-
Secara default, EMR menjalankan skrip sebagai pengguna root. Anda juga dapat menjalankan perintah
su - hadoopdalam skrip untuk beralih ke pengguna hadoop.
Tambahkan tindakan bootstrap
Anda dapat menambahkan tindakan bootstrap dengan salah satu dari dua cara berikut.
Saat pembuatan
-
Buka halaman manajemen kluster.
-
Masuk ke Konsol E-MapReduce.
-
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya.
-
-
Pada halaman EMR on ECS, klik CREATE_CLUSTER.
-
Pada bagian Advanced Settings dalam langkah Basic Configuration, klik Add Bootstrap Action pada baris Bootstrap Actions.
-
Konfigurasikan parameter berikut.
Parameter
Deskripsi
Operation Name
Nama tindakan bootstrap.
Script Path
Jalur OSS tempat skrip disimpan.
Jalur skrip harus dalam format oss://**/*.sh.
Parameter
Argumen untuk skrip tindakan bootstrap. Tentukan nilai untuk variabel yang dirujuk dalam skrip.
Execution Time
-
Before Component Installation: Skrip dijalankan sebelum komponen diinstal.
-
Before Component Startup: Skrip dijalankan setelah komponen diinstal tetapi sebelum komponen dijalankan.
-
After Component Startup: Skrip dijalankan setelah komponen dijalankan.
Execution Failure Policy
-
Proceed: Jika skrip gagal, sistem tetap menjalankan skrip berikutnya. Hal ini tidak memengaruhi proses pembuatan atau scale-out kluster.
-
Stop: Jika skrip gagal, sistem segera menghentikan eksekusi skrip saat ini dan menyebabkan proses pembuatan atau scale-out kluster gagal.
Execution Scope
Nilai yang valid adalah:
-
Cluster: Tindakan bootstrap berlaku untuk seluruh kluster.
-
Node Group Type: Tindakan bootstrap hanya berlaku untuk jenis kelompok node yang dipilih.
Untuk contoh tindakan bootstrap, lihat Contoh.
CatatanJika Anda memilih kebijakan Proceed, kegagalan tindakan bootstrap tidak memengaruhi proses pembuatan kluster.
Untuk informasi selengkapnya tentang cara membuat kluster, lihat Buat kluster. Setelah kluster dibuat, Anda dapat membuka halaman Script Operation kluster untuk memeriksa error. Jika terjadi error, lihat Lihat log eksekusi skrip.
-
Setelah pembuatan
-
Buka halaman Script operation.
-
Masuk ke Konsol E-MapReduce.
-
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya.
-
Klik Services untuk kluster target.
-
Klik tab Script Operation.
-
-
Pada halaman Bootstrap Actions, klik Add Bootstrap Action.
-
Pada kotak dialog Add Bootstrap Action, konfigurasikan parameter.

Parameter
Deskripsi
Name
Nama tindakan bootstrap.
Script Address
Jalur OSS tempat skrip disimpan.
Jalur skrip harus dalam format oss://**/*.sh.
Parameter
Argumen untuk skrip tindakan bootstrap. Tentukan nilai untuk variabel yang dirujuk dalam skrip.
Execution Scope
Nilai yang valid adalah:
-
Cluster: Tindakan bootstrap berlaku untuk seluruh kluster.
-
Node Group Type: Tindakan bootstrap hanya berlaku untuk jenis kelompok node yang dipilih.
-
Node Group: Tindakan bootstrap hanya berlaku untuk kelompok node yang dipilih.
Execution Time
-
Before Component Installation: Skrip dijalankan sebelum komponen diinstal.
-
Before Component Startup: Skrip dijalankan setelah komponen diinstal tetapi sebelum komponen dijalankan.
-
After Component Startup: Skrip dijalankan setelah komponen dijalankan.
Execution Failure Policy
-
Proceed: Jika skrip gagal, sistem tetap menjalankan skrip berikutnya. Hal ini tidak memengaruhi proses pembuatan atau scale-out kluster.
-
Stop: Jika skrip gagal, sistem segera menghentikan eksekusi skrip saat ini dan menyebabkan proses pembuatan atau scale-out kluster gagal.
-
-
Klik OK.
Untuk contoh tindakan bootstrap, lihat Contoh.
Anda dapat melakukan operasi berikut pada tindakan bootstrap yang sudah ada:
-
Edit tindakan bootstrap: Klik Edit pada baris tindakan bootstrap target.
-
Salin tindakan bootstrap: Klik Clone pada baris tindakan bootstrap target.
-
Hapus tindakan bootstrap: Klik Delete pada baris tindakan bootstrap target.
-
Log eksekusi skrip
Kami menyarankan menambahkan logika logging di lokasi kunci dalam skrip Anda. Hal ini membantu Anda memecahkan masalah eksekusi dengan meninjau log eksekusi.
Anda dapat melihat log eksekusi skrip tindakan bootstrap dalam riwayat operasi. Ikuti langkah-langkah berikut:
-
Buka halaman Cluster Services.
-
Masuk ke Konsol EMR.
-
Di panel navigasi kiri, klik EMR on ECS.
-
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya.
-
Pada halaman EMR on ECS, klik Services untuk kluster target.
-
-
Klik tab Script operation, lalu klik View Execution Result di sebelah kanan skrip yang ingin Anda periksa.
-
Pada panel Operation History, temukan catatan operasi yang sesuai dan lihat detailnya.
-
Untuk kluster DataLake, Dataflow, OLAP, DataServing, dan kustom: Pada catatan operasi pembuatan kluster (create) atau scale-out kluster (increaseNodeGroup), klik
untuk melihat detail tugas. Tugas yang menjalankan tindakan bootstrap memiliki awalan RUN_BOOTSTRAP_CLUSTER_SCRIPT_<bootstrap action name>_<bootstrap action ID>. Anda dapat melihat log Stdout dan Stderr. -
Untuk kluster Hadoop, Data Science, dan EMR Studio: Pada catatan operasi pembuatan kluster (CREATE_CLUSTER) atau scale-out kluster (RESIZE_CLUSTER), klik
untuk melihat detail tugas. Di bawah pollDeployTaskStatusActivity, tugas yang menjalankan tindakan bootstrap memiliki awalan RUN_SCRIPT_HOST_**. Anda dapat melihat log Stdout dan Stderr.
-
Contoh
Saat mengonfigurasi tindakan bootstrap, Anda harus menentukan nama dan lokasi skripnya di OSS. Anda juga dapat menentukan argumen skrip sesuai kebutuhan. Saat tindakan bootstrap dijalankan, setiap node mengunduh skrip OSS yang ditentukan dan menjalankannya secara langsung atau dengan argumen opsional yang ditentukan. Berikut beberapa contohnya:
-
Contoh 1
Anda dapat menentukan file yang akan diunduh dari OSS dalam skrip. Misalnya, skrip berikut mengunduh file oss://<yourBucket>/<myFile>.tar.gz dan mengekstraknya ke direktori /<yourDir>.
PentingOSS menyediakan titik akhir internal, titik akhir publik, dan titik akhir VPC. Jika Anda menggunakan jaringan klasik, Anda harus menentukan titik akhir internal. Misalnya, titik akhir internal untuk wilayah China (Hangzhou) adalah oss-cn-hangzhou-internal.aliyuncs.com. Jika Anda menggunakan VPC, Anda harus menentukan nama domain yang dapat diakses VPC. Misalnya, titik akhir VPC untuk 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 DataLake (Hadoop) lama
#!/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 paket tambahan, seperti ld-linux.so.2.
#!/bin/bash yum install -y ld-linux.so.2