Memahami cara membuat dan bekerja dengan kluster EMR Amazon - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memahami cara membuat dan bekerja dengan kluster EMR Amazon

Topik ini memberikan gambaran umum tentang klaster Amazon EMR, termasuk cara mengirimkan pekerjaan ke klaster, cara data diproses, dan beragam status yang dilewati klaster selama pemrosesan.

Mengenal Cluster dan Node

Komponen sentral dari Amazon EMR adalah klaster. Cluster adalah kumpulan instans Amazon Elastic Compute Cloud (Amazon EC2). Setiap instans dalam klaster disebut simpul. Setiap simpul memiliki peran dalam klaster, disebut sebagai jenis simpul. Amazon EMR juga menginstal komponen perangkat lunak yang berbeda pada setiap jenis simpul, memberi setiap simpul peran dalam aplikasi terdistribusi seperti Apache Hadoop.

Jenis simpul di Amazon EMR adalah sebagai berikut:

  • Node primer: Node yang mengelola cluster dengan menjalankan komponen perangkat lunak untuk mengoordinasikan distribusi data dan tugas di antara node lain untuk diproses. Node primer melacak status tugas dan memantau kesehatan cluster. Setiap cluster memiliki simpul utama, dan dimungkinkan untuk membuat cluster simpul tunggal hanya dengan simpul utama.

  • Simpul Inti: Sebuah simpul dengan komponen perangkat lunak yang menjalankan tugas dan menyimpan data dalam Sistem File Terdistribusi Hadoop (HDFS) pada klaster Anda. Klaster multi-simpul memiliki setidaknya satu simpul inti.

  • Simpul tugas: Sebuah simpul dengan komponen perangkat lunak yang hanya menjalankan tugas dan tidak menyimpan data dalam HDFS. Simpul tugas bersifat opsional.

Mengirim pekerjaan ke sebuah klaster

Ketika Anda menjalankan sebuah klaster di Amazon EMR, Anda memiliki beberapa opsi untuk bagaimana Anda menentukan pekerjaan yang perlu dilakukan.

  • Menyediakan seluruh definisi pekerjaan yang harus dilakukan dalam fungsi yang Anda tentukan sebagai langkah-langkah ketika Anda membuat sebuah klaster. Hal ini biasanya dilakukan untuk klaster yang memproses sejumlah set data dan mengakhiri ketika pemrosesan selesai.

  • Buat klaster yang sudah berjalan lama dan gunakan konsol EMR Amazon, Amazon EMR API, atau AWS CLI untuk mengirimkan langkah-langkah, yang mungkin berisi satu atau beberapa pekerjaan. Untuk informasi selengkapnya, lihat Kirim pekerjaan ke kluster EMR Amazon.

  • Buat cluster, sambungkan ke node utama dan node lain sesuai kebutuhan menggunakan SSH, dan gunakan antarmuka yang disediakan aplikasi yang diinstal untuk melakukan tugas dan mengirimkan kueri, baik skrip atau interaktif. Untuk informasi selengkapnya, lihat Panduan Rilis Amazon EMR.

Memproses data

Ketika Anda meluncurkan klaster, Anda memilih kerangka kerja dan aplikasi yang akan diinstal untuk kebutuhan pemrosesan data Anda. Untuk memproses data dalam klaster Amazon EMR, Anda dapat mengirimkan pekerjaan atau queri secara langsung ke aplikasi yang diinstal, atau Anda dapat menjalankan langkah dalam klaster.

Mengirimkan pekerjaan secara langsung ke aplikasi

Anda dapat mengirimkan pekerjaan dan berinteraksi langsung dengan perangkat lunak yang diinstal pada klaster Amazon EMR Anda. Untuk melakukan ini, Anda biasanya terhubung ke node utama melalui koneksi aman dan mengakses antarmuka dan alat yang tersedia untuk perangkat lunak yang berjalan langsung di cluster Anda. Untuk informasi selengkapnya, lihat Connect ke kluster EMR Amazon.

Menjalankan langkah-langkah untuk memproses data

Anda dapat mengirimkan satu atau beberapa langkah yang dipesan untuk klaster Amazon EMR. Setiap langkah adalah unit kerja yang berisi instruksi untuk memanipulasi data untuk diproses oleh perangkat lunak yang diinstal pada klaster.

Berikut ini adalah contoh proses menggunakan empat langkah:

  1. Mengirim set data input untuk diproses.

  2. Memproses output dari langkah pertama dengan menggunakan program Pig.

  3. Memproses set data input kedua dengan menggunakan program Hive.

  4. Menulis set data output.

Secara umum, ketika Anda memproses data di Amazon EMR, input adalah data yang disimpan sebagai file dalam sistem file yang mendasari pilihan Anda, seperti Amazon S3 atau HDFS. Data ini melewati dari satu langkah ke langkah berikutnya dalam urutan pemrosesan. Langkah terakhir menulis data output ke lokasi yang ditentukan, seperti bucket Amazon S3.

Langkah dijalankan dalam urutan berikut:

  1. Permintaan dikirimkan untuk memulai pemrosesan langkah.

  2. Status semua langkah diatur ke PENDING.

  3. Ketika langkah pertama dalam urutan dimulai, statusnya berubah menjadi RUNNING. Langkah lainnya tetap dalam status PENDING.

  4. Setelah langkah pertama selesai, statusnya berubah menjadi COMPLETED.

  5. Langkah selanjutnya dalam urutan dimulai, statusnya berubah menjadi RUNNING. Ketika selesai, status berubah menjadi COMPLETED.

  6. Pola ini berulang untuk setiap langkah sampai semuanya selesai dan pemrosesan berakhir.

Diagram berikut merupakan urutan langkah dan perubahan status untuk langkah-langkah saat diproses.

Diagram urutan untuk Amazon EMR menunjukkan status langkah klaster yang berbeda.

Jika langkah gagal selama pemrosesan, statusnya berubah menjadi FAILED. Anda dapat menentukan apa yang terjadi selanjutnya untuk setiap langkah. Secara default, setiap langkah yang tersisa dalam urutan diatur ke CANCELLED dan tidak berjalan jika langkah sebelumnya gagal. Anda juga dapat memilih untuk mengabaikan kegagalan dan mengizinkan langkah-langkah yang tersisa untuk dilanjutkan, atau untuk mengakhiri klaster segera.

Diagram berikut merupakan urutan langkah dan perubahan default statusnya ketika langkah gagal selama pemrosesan.

Diagram urutan untuk Amazon EMR menunjukkan apa yang terjadi pada langkah-langkah berikutnya ketika langkah klaster sebelumnya gagal.

Memahami siklus hidup klaster

Sebuah klaster Amazon EMR berhasil dengan mengikuti proses ini:

  1. Amazon EMR terlebih dahulu menyediakan EC2 instans di klaster untuk setiap instans sesuai dengan spesifikasi Anda. Untuk informasi selengkapnya, lihat Konfigurasikan perangkat keras dan jaringan cluster Amazon EMR. Untuk semua instans, Amazon EMR menggunakan AMI default untuk Amazon EMR atau Amazon Linux AMI khusus yang Anda tentukan. Untuk informasi selengkapnya, lihat Menggunakan AMI khusus untuk memberikan lebih banyak fleksibilitas untuk konfigurasi cluster Amazon EMR. Selama fase ini, status klasternya adalah STARTING.

  2. Amazon EMR menjalankan tindakan bootstrap yang Anda tentukan pada setiap instans. Anda dapat menggunakan tindakan bootstrap untuk menginstal aplikasi khusus dan melakukan kustomisasi yang Anda perlukan. Untuk informasi selengkapnya, lihat Buat tindakan bootstrap untuk menginstal perangkat lunak tambahan dengan cluster EMR Amazon. Selama fase ini, status klasternya adalah BOOTSTRAPPING.

  3. Amazon EMR menginstal aplikasi native yang Anda tentukan saat membuat klaster, seperti Hive, Hadoop, Spark, dan sebagainya.

  4. Setelah tindakan bootstrap berhasil diselesaikan dan aplikasi native diinstal, status klasternya adalah RUNNING. Pada titik ini, Anda dapat menyambung ke instans klaster, dan klaster secara berurutan menjalankan langkah-langkah yang telah Anda tentukan ketika membuat klaster. Anda dapat mengirimkan langkah-langkah tambahan, yang berjalan setelah langkah sebelumnya selesai. Untuk informasi selengkapnya, lihat Kirim pekerjaan ke kluster EMR Amazon.

  5. Setelah langkah berhasil berjalan, klaster berubah ke status WAITING. Jika klaster dikonfigurasi untuk diakhiri otomatis setelah langkah terakhir selesai, klaster berubah ke status TERMINATING kemudian ke status TERMINATED. Jika klaster dikonfigurasi untuk menunggu, Anda harus secara manual mematikannya ketika Anda tidak lagi membutuhkannya. Setelah Anda secara manual mematikan klaster, itu akan berubah ke status TERMINATING kemudian ke status TERMINATED.

Kegagalan selama siklus hidup klaster menyebabkan Amazon EMR untuk mengakhiri klaster dan semua instans-nya kecuali Anda mengaktifkan perlindungan penghentian. Jika klaster berakhir karena kegagalan, data yang disimpan pada klaster dihapus, dan status klaster diatur ke TERMINATED_WITH_ERRORS. Jika Anda mengaktifkan perlindungan penghentian, Anda dapat mengambil data dari klaster, kemudian menghapus perlindungan penghentian dan mengakhiri klaster. Untuk informasi selengkapnya, lihat Menggunakan perlindungan penghentian untuk melindungi kluster EMR Amazon Anda dari penutupan yang tidak disengaja.

Diagram berikut merupakan siklus hidup klaster, dan bagaimana setiap tahap siklus hidup memetakan ke status klaster tertentu.

Diagram untuk Amazon EMR yang menunjukkan siklus hidup klaster, dan bagaimana setiap tahap siklus hidup memetakan ke status klaster tertentu.