Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkonfigurasi jenis instans cluster Amazon EMR dan praktik terbaik untuk instans Spot
Gunakan panduan di bagian ini untuk membantu Anda menentukan tipe instans, opsi pembelian, dan jumlah penyimpanan yang akan disediakan untuk setiap jenis simpul dalam klaster EMR.
Tipe instans apa yang harus Anda gunakan?
Ada beberapa cara untuk menambahkan instans Amazon EC2 ke cluster. Metode yang harus Anda pilih tergantung pada apakah Anda menggunakan konfigurasi grup instans atau konfigurasi armada instans untuk cluster.
-
Grup Instans
-
Tambahkan instans dengan tipe yang sama secara manual ke grup instans inti dan tugas yang ada.
-
Tambahkan grup instans tugas secara manual, yang dapat menggunakan tipe instans yang berbeda.
-
Siapkan penskalaan otomatis di Amazon EMR untuk grup instans, menambahkan dan menghapus instans secara otomatis berdasarkan nilai CloudWatch metrik Amazon yang Anda tentukan. Untuk informasi selengkapnya, lihat Gunakan penskalaan klaster EMR Amazon untuk menyesuaikan perubahan beban kerja.
-
-
Armada Instans
-
Tambahkan satu armada instans tugas.
-
Mengubah kapasitas target untuk On-Demand dan Instans Spot untuk armada instans inti dan tugas yang ada. Untuk informasi selengkapnya, lihat Merencanakan dan mengonfigurasi armada instans untuk cluster Amazon EMR Anda.
-
Salah satu cara untuk merencanakan instans klaster Anda adalah dengan menjalankan klaster uji dengan kumpulan sampel data yang representatif dan memantau pemanfaatan simpul dalam klaster. Untuk informasi selengkapnya, lihat Lihat dan pantau klaster EMR Amazon saat melakukan pekerjaan. Cara lain adalah dengan menghitung kapasitas instans yang Anda pertimbangkan dan membandingkan nilai tersebut dengan ukuran data Anda.
Secara umum, tipe node utama, yang menetapkan tugas, tidak memerlukan instans EC2 dengan banyak daya pemrosesan; Instans Amazon EC2 untuk tipe node inti, yang memproses tugas dan menyimpan data di HDFS, memerlukan daya pemrosesan dan kapasitas penyimpanan; Instans Amazon EC2 untuk jenis node tugas, yang tidak menyimpan data, hanya memerlukan daya pemrosesan. Untuk panduan tentang instans Amazon EC2 yang tersedia dan konfigurasinya, lihatKonfigurasikan jenis instans Amazon EC2 untuk digunakan dengan Amazon EMR.
Panduan berikut berlaku untuk sebagian besar klaster Amazon EMR.
-
Ada batas vCPU untuk jumlah total instans Amazon EC2 on-demand yang Anda jalankan pada AWS akun per. Wilayah AWS Untuk informasi selengkapnya tentang batas vCPU dan cara meminta kenaikan batas untuk akun Anda, lihat On-Demand Instans di Panduan Pengguna Amazon EC2 untuk Instans Linux.
-
Node primer biasanya tidak memiliki persyaratan komputasi yang besar. Untuk cluster dengan sejumlah besar node, atau untuk cluster dengan aplikasi yang secara khusus digunakan pada node utama (JupyterHub, Hue, dll.), node primer yang lebih besar mungkin diperlukan dan dapat membantu meningkatkan kinerja cluster. Misalnya, pertimbangkan untuk menggunakan instans m5.xlarge untuk klaster yang berukuran kecil (50 simpul atau lebih sedikit), dan tingkatkan ke tipe instans yang lebih besar untuk klaster yang lebih besar.
-
Kebutuhan komputasi dari simpul inti dan tugas bergantung pada jenis pemrosesan yang dilakukan aplikasi Anda. Banyak pekerjaan dapat dijalankan pada jenis instance tujuan umum, yang menawarkan kinerja seimbang dalam hal CPU, ruang disk, dan input/output. Computation-intensivecluster mungkin mendapat manfaat dari menjalankan instans CPU Tinggi, yang memiliki CPU lebih banyak secara proporsional daripada RAM. Aplikasi database dan memory-caching mungkin mendapat manfaat dari menjalankan instans Memori Tinggi. Network-intensive dan CPU-intensive aplikasi seperti parsing, NLP, dan pembelajaran mesin dapat memperoleh manfaat dari menjalankan instans komputasi cluster, yang menyediakan sumber daya CPU yang tinggi secara proporsional dan peningkatan kinerja jaringan.
-
Jika fase yang berbeda dari klaster Anda memiliki kebutuhan kapasitas yang berbeda, Anda dapat memulai dengan sejumlah kecil simpul inti dan menambah atau mengurangi jumlah simpul tugas untuk memenuhi berbagai persyaratan kapasitas alur kerja Anda.
-
Jumlah data yang dapat Anda proses bergantung pada kapasitas simpul inti dan ukuran data Anda sebagai input, selama pemrosesan, dan sebagai output. Set data input, menengah, dan output semuanya berada di klaster selama pemrosesan.
Kapan Anda harus menggunakan Instans Spot?
Saat meluncurkan cluster di Amazon EMR, Anda dapat memilih untuk meluncurkan instans primer, inti, atau tugas di Instans Spot. Karena setiap jenis grup instans memainkan peran yang berbeda dalam klaster, terdapat implikasi peluncuran dari setiap jenis simpul pada Instans Spot. Anda tidak dapat mengubah opsi pembelian instans saat klaster sedang berjalan. Untuk mengubah dari On-Demand ke Instans Spot atau sebaliknya, untuk node primer dan inti, Anda harus menghentikan cluster dan meluncurkan yang baru. Untuk simpul tugas, Anda dapat meluncurkan grup instans tugas atau armada instans baru, dan menghapus yang lama.
Topik
Pengaturan Amazon EMR untuk mencegah kegagalan tugas karena pengakhiran Instans Spot simpul tugas
Karena Instans Spot sering digunakan untuk menjalankan simpul tugas, Amazon EMR memiliki fungsionalitas default untuk menjadwalkan tugas YARN sehingga tugas yang sedang berjalan tidak mengalami kegagalan saat simpul tugas yang berjalan pada Instans Spot diakhiri. Amazon EMR melakukan ini dengan mengizinkan proses utama aplikasi berjalan hanya pada simpul inti. Proses utama aplikasi mengontrol tugas yang sedang berjalan dan harus tetap hidup selama masa tugas.
Amazon EMR rilis 5.19.0 dan yang lebih baru menggunakan fitur label node YAR yarn-site dan capacity-scheduler dikonfigurasi secara default sehingga YARN capacity-scheduler dan fair-scheduler memanfaatkan label simpul. Amazon EMR secara otomatis melabeli simpul inti dengan label CORE, dan menetapkan properti sehingga utama aplikasi dijadwalkan hanya pada simpul dengan label INTI. Mengubah properti terkait secara manual dalam klasifikasi konfigurasi yarn-site dan capacity-scheduler, atau secara langsung dalam file XML terkait, dapat merusak fitur ini atau mengubah fungsionalitas ini.
Amazon EMR mengonfigurasi properti dan nilai berikut secara default. Berhati-hatilah saat mengonfigurasi properti ini.
catatan
Dimulai dengan Amazon EMR seri rilis 6.x, fitur label simpul YARN dinonaktifkan secara default. Proses primer aplikasi dapat berjalan pada node inti dan tugas secara default. Anda dapat mengaktifkan fitur label simpul YARN dengan mengkonfigurasi properti berikut:
-
yarn.node-labels.enabled: true -
yarn.node-labels.am.default-node-label-expression: 'CORE'
-
yarn-site (yarn-site.xml) Pada Semua Node
-
yarn.node-labels.enabled: true -
yarn.node-labels.am.default-node-label-expression: 'CORE' -
yarn.node-labels.fs-store.root-dir: '/apps/yarn/nodelabels' -
yarn.node-labels.configuration-type: 'distributed'
-
-
yarn-site (yarn-site.xml) Pada Node Utama Dan Inti
-
yarn.nodemanager.node-labels.provider: 'config' -
yarn.nodemanager.node-labels.provider.configured-node-partition: 'CORE'
-
-
capacity-scheduler (capacity-scheduler.xml) Pada Semua Node
-
yarn.scheduler.capacity.root.accessible-node-labels: '*' -
yarn.scheduler.capacity.root.accessible-node-labels.CORE.capacity: 100 -
yarn.scheduler.capacity.root.default.accessible-node-labels: '*' -
yarn.scheduler.capacity.root.default.accessible-node-labels.CORE.capacity: 100
-
Node utama pada Instance Spot
Node utama mengontrol dan mengarahkan cluster. Ketika berakhir, cluster berakhir, jadi Anda hanya harus meluncurkan node utama sebagai Instance Spot jika Anda menjalankan cluster di mana penghentian mendadak dapat diterima. Ini mungkin terjadi jika Anda menguji aplikasi baru, memiliki klaster yang secara berkala menyimpan data ke penyimpanan eksternal seperti Amazon S3, atau menjalankan klaster di mana biaya lebih penting daripada memastikan penyelesaian klaster.
Saat Anda meluncurkan grup instans utama sebagai Instans Spot, cluster tidak dimulai sampai permintaan Instans Spot tersebut dipenuhi. Ini adalah sesuatu yang perlu dipertimbangkan ketika memilih harga Spot maksimum Anda.
Anda hanya dapat menambahkan node utama Spot Instance saat meluncurkan cluster. Anda tidak dapat menambah atau menghapus node utama dari cluster yang sedang berjalan.
Biasanya, Anda hanya akan menjalankan node utama sebagai Instans Spot jika Anda menjalankan seluruh cluster (semua grup instance) sebagai Instans Spot.
Simpul inti pada Instans Spot
Simpul inti memproses data dan menyimpan informasi menggunakan HDFS. Mengakhiri instans inti mengakibatkan risiko kehilangan data. Karena alasan ini, Anda hanya boleh menjalankan simpul inti pada Instans Spot jika kehilangan sebagian data HDFS dapat ditoleransi.
Saat Anda meluncurkan grup instans inti sebagai Instans Spot, Amazon EMR menunggu hingga dapat menyediakan semua instans inti yang diminta sebelum meluncurkan grup instans. Dengan kata lain, jika Anda meminta enam instans Amazon EC2, dan hanya lima yang tersedia pada atau di bawah harga Spot maksimum Anda, maka grup instans tidak akan diluncurkan. Amazon EMR terus menunggu hingga keenam instans Amazon EC2 tersedia atau hingga Anda mengakhiri klaster. Anda dapat mengubah jumlah Instans Spot dalam grup instans inti untuk menambah kapasitas ke klaster yang sedang berjalan. Untuk informasi selengkapnya tentang bekerja dengan grup instans, dan bagaimana Instans Spot bekerja dengan armada instans, lihat Membuat cluster Amazon EMR dengan armada instans atau grup instans seragam.
Simpul tugas pada Instans Spot
Simpul tugas memproses data tetapi tidak menyimpan data persisten dalam HDFS. Jika mereka berakhir karena harga Spot telah naik di atas harga Spot maksimum Anda, tidak ada data yang hilang dan hanya akan terjadi efek minim pada klaster Anda.
Saat Anda meluncurkan satu atau beberapa grup instans tugas sebagai Instans Spot, Amazon EMR menyediakan simpul tugas sebanyak mungkin, menggunakan harga Spot maksimum Anda. Ini berarti bahwa jika Anda meminta grup instans tugas dengan enam simpul, dan hanya lima Instans Spot yang tersedia pada atau di bawah harga Spot maksimum Anda, Amazon EMR akan meluncurkan grup instans dengan lima simpul lalu menambahkan yang keenam nanti jika memungkinkan.
Meluncurkan grup instans tugas sebagai Instans Spot adalah cara strategis untuk memperluas kapasitas klaster Anda sekaligus meminimalkan biaya. Jika Anda meluncurkan grup instans utama dan inti sebagai On-Demand Instans, kapasitasnya dijamin untuk menjalankan cluster. Anda dapat menambahkan instans tugas ke grup instans tugas sesuai kebutuhan, untuk menangani lalu lintas puncak atau mempercepat pemrosesan data.
Anda dapat menambahkan atau menghapus node tugas menggunakan konsol, AWS CLI, atau API. Anda juga dapat menambahkan grup tugas tambahan, tetapi Anda tidak dapat menghapus grup tugas setelah dibuat.
Konfigurasi instans untuk skenario aplikasi
Tabel berikut adalah referensi cepat untuk opsi dan konfigurasi pembelian tipe simpul yang biasanya sesuai untuk berbagai skenario aplikasi. Pilih tautan untuk melihat informasi selengkapnya tentang setiap jenis skenario.
| Skenario aplikasi | Opsi pembelian node utama | Opsi pembelian simpul inti | Opsi pembelian simpul tugas |
|---|---|---|---|
| Long-running cluster dan gudang data | On-Demand | On-Demand atau campuran armada instansi | Gabungan spot atau armada instans |
| Cost-driven beban kerja | Spot | Spot | Spot |
| Data-critical beban kerja | On-Demand | On-Demand | Gabungan spot atau armada instans |
| Pengujian aplikasi | Spot | Spot | Spot |
Ada beberapa skenario di mana Instans Spot berguna untuk menjalankan klaster Amazon EMR.
Long-running cluster dan gudang data
Jika Anda menjalankan klaster Amazon EMR persisten yang memiliki variasi kapasitas komputasi yang dapat diprediksi, seperti gudang data, Anda dapat menangani permintaan puncak dengan biaya lebih rendah menggunakan Instans Spot. Anda dapat meluncurkan grup instans utama dan inti sebagai On-Demand Instans untuk menangani kapasitas normal dan meluncurkan grup instans tugas sebagai Instans Spot untuk menangani persyaratan beban puncak Anda.
Cost-driven beban kerja
Jika Anda menjalankan cluster transien yang biaya lebih rendah lebih penting daripada waktu penyelesaian, dan kehilangan sebagian pekerjaan dapat diterima, Anda dapat menjalankan seluruh cluster (grup instans utama, inti, dan tugas) sebagai Instans Spot untuk mendapatkan keuntungan dari penghematan biaya terbesar.
Data-critical beban kerja
Jika Anda menjalankan cluster yang biaya lebih rendah lebih penting daripada waktu penyelesaian, tetapi kehilangan sebagian pekerjaan tidak dapat diterima, luncurkan grup instans primer dan inti sebagai On-Demand Instans dan tambahkan satu atau lebih grup instance tugas Instans Spot. Menjalankan grup instans utama dan inti sebagai On-Demand Instans memastikan bahwa data Anda tetap ada di HDFS dan cluster dilindungi dari penghentian karena fluktuasi pasar Spot, sekaligus memberikan penghematan biaya yang diperoleh dari menjalankan grup instans tugas sebagai Instans Spot.
Pengujian aplikasi
Saat menguji aplikasi baru untuk mempersiapkannya untuk diluncurkan di lingkungan produksi, Anda dapat menjalankan seluruh cluster (grup instans utama, inti, dan tugas) sebagai Instans Spot untuk mengurangi biaya pengujian Anda.
Menghitung kapasitas HDFS yang dibutuhkan dari sebuah klaster
Jumlah penyimpanan HDFS yang tersedia untuk cluster Anda tergantung pada faktor-faktor berikut:
-
Jumlah instans Amazon EC2 yang digunakan untuk node inti.
-
Kapasitas penyimpanan instans Amazon EC2 untuk jenis instans yang digunakan. Untuk informasi selengkapnya tentang volume penyimpanan instans, lihat penyimpanan instans Amazon Amazon EC2 di Panduan Pengguna Amazon EC2.
-
Jumlah dan ukuran volume Amazon EBS yang melekat pada node inti.
-
Faktor replikasi, yang menjelaskan bagaimana setiap blok data disimpan dalam HDFS untuk RAID-like redundansi. Secara default, faktor replikasi adalah tiga untuk sebuah klaster yang memiliki 10 atau lebih simpul inti, dua untuk sebuah klaster yang memiliki 4-9 simpul inti, dan satu untuk satu kalster yang memiliki tiga atau lebih sedikit simpul.
Untuk menghitung kapasitas HDFS cluster, untuk setiap node inti, tambahkan kapasitas volume penyimpanan instans ke kapasitas penyimpanan Amazon EBS (jika digunakan). Kalikan hasilnya dengan jumlah simpul inti, lalu bagi total dengan faktor replikasi berdasarkan jumlah simpul inti. Misalnya, cluster dengan 10 node inti tipe i2.xlarge, yang memiliki penyimpanan instans 800 GB tanpa volume Amazon EBS terpasang, memiliki total sekitar 2.666 GB yang tersedia untuk HDFS (10 node x 800 GB รท 3 faktor replikasi).
Jika nilai kapasitas HDFS yang dihitung lebih kecil dari data Anda, Anda dapat menambah jumlah penyimpanan HDFS dengan cara berikut:
-
Membuat cluster dengan volume Amazon EBS tambahan atau menambahkan grup instans dengan volume Amazon EBS terlampir ke cluster yang ada
-
Menambahkan lebih banyak simpul inti
-
Memilih jenis instans Amazon EC2 dengan kapasitas penyimpanan yang lebih besar
-
Menggunakan kompresi data
-
Mengubah pengaturan konfigurasi Hadoop untuk mengurangi faktor replikasi
Mengurangi faktor replikasi harus digunakan dengan hati-hati karena dapat mengurangi redundansi data HDFS dan kemampuan klaster untuk memulihkan dari blok HDFS yang hilang atau rusak.