Cluster EMR Amazon berakhir dengan NO_SLAVE_LEFT dan node inti FAILED_BY_MASTER - Amazon EMR

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

Cluster EMR Amazon berakhir dengan NO_SLAVE_LEFT dan node inti FAILED_BY_MASTER

Biasanya, hal ini terjadi karena proteksi pengakhiran dinonaktifkan, dan semua simpul inti melebihi kapasitas penyimpanan disk yang ditentukan oleh ambang pemanfaatan maksimum di klasifikasi konfigurasi yarn-site, yang sesuai dengan file yarn-site.xml. Nilainya adalah 90% secara default. Ketika pemanfaatan disk untuk node inti melebihi ambang batas pemanfaatan, layanan NodeManager kesehatan YARN melaporkan node sebagai. UNHEALTHY Sementara dalam keadaan ini, Amazon EMR menolak daftar node dan tidak mengalokasikan kontainer YARN untuk itu. Jika node tetap tidak sehat selama 45 menit, Amazon EMR menandai EC2 instans Amazon terkait untuk penghentian sebagai. FAILED_BY_MASTER Ketika semua EC2 instans Amazon yang terkait dengan node inti ditandai untuk penghentian, klaster akan berakhir dengan status NO_SLAVE_LEFT karena tidak ada sumber daya untuk mengeksekusi pekerjaan.

Melebihi pemanfaatan disk pada satu simpul inti mungkin menyebabkan reaksi berantai. Jika satu simpul melebihi ambang pemanfaatan disk akibat HDFS, simpul lain kemungkinan besar juga berada dekat ambang. Node pertama melebihi ambang batas pemanfaatan disk, jadi Amazon EMR menolak mencantumkannya. Hal ini meningkatkan beban pemanfaatan disk untuk node yang tersisa karena mereka mulai mereplikasi data HDFS di antara mereka sendiri yang hilang pada node deny-listed. Setiap simpul kemudian menjadi UNHEALTHY dengan cara yang sama, dan klaster akhirnya berakhir.

Praktik terbaik dan rekomendasi

Mengkonfigurasi perangkat keras klaster dengan penyimpanan yang memadai

Ketika Anda membuat sebuah klaster, pastikan bahwa ada cukup simpul inti dan masing-masing memiliki penyimpanan instans serta volume penyimpanan EBS yang memadai untuk HDFS. Untuk informasi selengkapnya, lihat Menghitung kapasitas HDFS yang dibutuhkan dari sebuah klaster. Anda juga dapat menambahkan instans inti ke grup instans yang ada secara manual atau dengan menggunakan penskalaan otomatis. Instans yang baru memiliki konfigurasi penyimpanan yang sama seperti instans lain dalam grup instans. Untuk informasi selengkapnya, lihat Gunakan penskalaan klaster EMR Amazon untuk menyesuaikan perubahan beban kerja.

Aktifkan perlindungan penghentian

Aktifkan perlindungan penghentian Dengan cara ini, jika node inti ditolak terdaftar, Anda dapat terhubung ke EC2 instans Amazon terkait menggunakan SSH untuk memecahkan masalah dan memulihkan data. Jika Anda mengaktifkan perlindungan penghentian, ketahuilah bahwa Amazon EMR tidak mengganti EC2 instans Amazon dengan instans baru. Untuk informasi selengkapnya, lihat Menggunakan perlindungan penghentian untuk melindungi kluster EMR Amazon Anda dari penutupan yang tidak disengaja.

Buat alarm untuk CloudWatch metrik MRUnhealthy Node

Metrik ini melaporkan jumlah simpul yang melaporkan Status UNHEALTHY. Ini setara dengan metrik YARN mapred.resourcemanager.NoOfUnhealthyNodes. Anda dapat mengatur notifikasi untuk alarm ini agar memperingatkan Anda tentang simpul yang tidak sehat sebelum batas waktu 45 menit tercapai. Untuk informasi selengkapnya, lihat Memantau metrik Amazon EMR dengan CloudWatch.

Ubah pengaturan menggunakan situs yarn

Pengaturan di bawah ini dapat disesuaikan sesuai dengan kebutuhan aplikasi Anda. Sebagai contoh, Anda mungkin ingin meningkatkan ambang pemanfaatan disk tempat simpul melaporkan UNHEALTHY dengan meningkatkan nilai yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage.

Anda dapat mengatur nilai-nilai ini ketika Anda membuat sebuah klaster menggunakan klasifikasi konfigurasi yarn-site. Untuk informasi selengkapnya, lihat Mengkonfigurasi Aplikasi dalam Panduan Rilis Amazon EMR. Anda juga dapat terhubung ke EC2 instance Amazon yang terkait dengan node inti menggunakan SSH, dan kemudian menambahkan nilai dalam /etc/hadoop/conf.empty/yarn-site.xml menggunakan editor teks. Setelah melakukan perubahan, Anda harus memulai ulang hadoop-yarn-nodemanager seperti yang ditunjukkan di bawah ini.

penting

Saat Anda memulai ulang NodeManager layanan, kontainer YARN aktif dimatikan kecuali yarn.nodemanager.recovery.enabled diatur untuk true menggunakan klasifikasi yarn-site konfigurasi saat Anda membuat cluster. Anda juga harus menentukan direktori tempat menyimpan status kontainer menggunakan properti yarn.nodemanager.recovery.dir.

sudo /sbin/stop hadoop-yarn-nodemanager sudo /sbin/start hadoop-yarn-nodemanager

Untuk informasi selengkapnya tentang properti dan nilai default yarn-site saat ini, lihat Pengaturan default YARN dalam dokumentasi Apache Hadoop.

Properti Nilai default Deskripsi

benang.nodemanager. disk-health-checker.interval-ms

120000

Frekuensi (dalam detik) yang dijalankan oleh pemeriksa kesehatan disk.

benang.nodemanager. disk-health-checker. min-healthy-disks

0,25

Fraksi minimum dari jumlah disk yang harus sehat NodeManager untuk meluncurkan wadah baru. Hal ini sesuai dengan kedua yarn.nodemanager.local-dirs (secara default, /mnt/yarn di Amazon EMR) dan yarn.nodemanager.log-dirs (secara default /var/log/hadoop-yarn/containers, yang symlinked ke mnt/var/log/hadoop-yarn/containers di Amazon EMR).

yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage

90.0

Persentase maksimum pemanfaatan ruang disk yang diizinkan setelah disk ditandai sebagai buruk. Nilai dapat berkisar dari 0,0 hingga 100,0. Jika nilainya lebih besar dari atau sama dengan 100, NodeManager cek untuk disk penuh. Ini berlaku baik untuk yarn-nodemanager.local-dirs dan yarn.nodemanager.log-dirs.

yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb

0

Ruang minimum yang mesti tersedia pada disk agar dapat digunakan. Ini berlaku baik untuk yarn-nodemanager.local-dirs dan yarn.nodemanager.log-dirs.