Memecahkan masalah Apache Hadoop YARN dengan menggunakan Azure HDInsight
Pelajari tentang masalah paling umum dan resolusinya saat menggunakan payload Apache Hadoop YARN di Apache Ambari.
Bagaimana cara membuat antrean YARN baru pada klaster?
Langkah-langkah resolusi
Gunakan langkah-langkah berikut di Ambari untuk membuat antrean YARN baru, lalu seimbangkan alokasi kapasitas pada semua antrean.
Dalam contoh ini, dua antrean yang ada (default dan thriftsvr) diubah dari kapasitas 50% menjadi kapasitas 25%, yang memberikan kapasitas antrian (spark) baru 50%.
Antrean | Kapasitas | Kapasitas maksimum |
---|---|---|
Default | 25% | 50% |
thrftsvr | 25% | 50% |
spark | 50% | 50% |
Pilih ikon Ambari Views, lalu pilih pola kisi. Selanjutnya, pilih YARN Queue Manager.
Pilih antrean default.
Untuk antrean default, ubah kapasitas dari 50% menjadi 25%. Untuk antrean thriftsvr, ubah kapasitas menjadi 25%.
Untuk membuat antrean baru, pilih Tambahkan Antrean.
Beri nama antrean baru.
Biarkan nilai kapasitas di 50%, lalu pilih tombol Tindakan.
Pilih Simpan dan Refresh Antrean.
Perubahan ini langsung terlihat pada YARN Scheduler UI.
Bacaan lebih lanjut
Bagaimana cara mengunduh log YARN dari klaster?
Langkah-langkah resolusi
Sambungkan ke kluster HDInsight dengan menggunakan klien Secure Shell (SSH). Untuk informasi selengkapnya, lihat Membaca lebih lanjut.
Untuk mencantumkan semua ID aplikasi dari aplikasi YARN yang sedang berjalan, jalankan perintah berikut:
yarn top
ID tercantum di kolom APPLICATIONID. Anda dapat mengunduh log dari kolom APPLICATIONID.
YARN top - 18:00:07, up 19d, 0:14, 0 active users, queue(s): root NodeManager(s): 4 total, 4 active, 0 unhealthy, 0 decommissioned, 0 lost, 0 rebooted Queue(s) Applications: 2 running, 10 submitted, 0 pending, 8 completed, 0 killed, 0 failed Queue(s) Mem(GB): 97 available, 3 allocated, 0 pending, 0 reserved Queue(s) VCores: 58 available, 2 allocated, 0 pending, 0 reserved Queue(s) Containers: 2 allocated, 0 pending, 0 reserved APPLICATIONID USER TYPE QUEUE #CONT #RCONT VCORES RVCORES MEM RMEM VCORESECS MEMSECS %PROGR TIME NAME application_1490377567345_0007 hive spark thriftsvr 1 0 1 0 1G 0G 1628407 2442611 10.00 18:20:20 Thrift JDBC/ODBC Server application_1490377567345_0006 hive spark thriftsvr 1 0 1 0 1G 0G 1628430 2442645 10.00 18:20:20 Thrift JDBC/ODBC Server
Untuk mengunduh log kontainer YARN untuk semua master aplikasi, gunakan perintah berikut:
yarn logs -applicationIdn logs -applicationId <application_id> -am ALL > amlogs.txt
Perintah ini membuat file log bernama amlogs.txt.
Untuk mengunduh log kontainer YARN untuk semua master aplikasi terbaru saja, gunakan perintah berikut:
yarn logs -applicationIdn logs -applicationId <application_id> -am -1 > latestamlogs.txt
Perintah ini membuat file log bernama latestamlogs.txt.
Untuk mengunduh log kontainer YARN untuk dua master aplikasi pertama, gunakan perintah berikut:
yarn logs -applicationIdn logs -applicationId <application_id> -am 1,2 > first2amlogs.txt
Perintah ini membuat file log bernama first2amlogs.txt.
Untuk mengunduh semua log kontainer YARN, gunakan perintah berikut:
yarn logs -applicationIdn logs -applicationId <application_id> > logs.txt
Perintah ini membuat file log bernama logs.txt.
Untuk mengunduh log kontainer YARN untuk kontainer tertentu, gunakan perintah berikut:
yarn logs -applicationIdn logs -applicationId <application_id> -containerId <container_id> > containerlogs.txt
Perintah ini membuat file log bernama containerlogs.txt.
Pembacaan tambahan
- Terhubung ke HDInsight (Apache Hadoop) dengan menggunakan SSH
- Konsep dan aplikasi Apache Hadoop YARN
Bagaimana cara memeriksa Informasi Diagnostik Aplikasi Yarn?
Diagnostik di Yarn UI adalah fitur yang memungkinkan Anda melihat status dan log aplikasi Anda yang berjalan di Yarn. Diagnostik dapat membantu Anda memecahkan masalah dan men-debug aplikasi Anda, serta memantau performa dan penggunaan sumber dayanya.
Untuk melihat diagnostik aplikasi tertentu, Anda dapat mengklik ID aplikasi dalam daftar aplikasi. Pada halaman detail aplikasi, Anda juga dapat melihat daftar semua upaya yang telah dilakukan untuk menjalankan aplikasi. Anda dapat mengklik upaya apa pun untuk melihat detail selengkapnya, seperti ID upaya, ID kontainer, ID simpul, waktu mulai, waktu selesai, dan diagnostik
Bagaimana cara memecahkan masalah umum YARN?
Antarmuka pengguna Yarn tidak dimuat
Jika UI YARN Anda tidak dimuat atau tidak dapat dijangkau, dan menampilkan "Kesalahan HTTP 502.3 - Gateway Buruk," itu sangat menunjukkan layanan Resource Manager Anda tidak sehat. Untuk mengatasi masalah ini, ikuti langkah-langkah ini:
- Buka RINGKASAN YARN>Ambari UI>dan periksa untuk melihat apakah hanya Resource Manager aktif yang berada dalam status Dimulai. Jika tidak, coba mitigasi dengan memulai ulang Resource Manager yang tidak sehat atau dihentikan.
- Jika langkah 1 tidak mengatasi masalah, SSH simpul kepala Resource Manager aktif dan periksa status pengumpulan sampah menggunakan
jstat -gcutil <Resource Manager pid> 1000 100
. Jika Anda melihat FGCT meningkat secara signifikan hanya dalam beberapa detik, itu menunjukkan Resource Manager sibuk di Full GC, dan tidak dapat memproses permintaan lainnya. - Buka Ambari UI>YARN>KONFIG>Tingkat lanjut dan tingkatkan
Resource Manager java heap size
. - Hidupkan ulang layanan yang diperlukan di Ambari UI.
Kedua manajer sumber daya berada dalam mode siaga
- Periksa log Resource Manager untuk melihat apakah ada kesalahan serupa.
Service RMActiveServices failed in state STARTED; cause: org.apache.hadoop.service.ServiceStateException: com.google.protobuf.InvalidProtocolBufferException: Could not obtain block: BP-452067264-10.0.0.16-1608006815288:blk_1074235266_494491 file=/yarn/node-labels/nodelabel.mirror
Jika terdapat kesalahan, periksalah untuk melihat apakah ada file yang sedang direplikasi atau apakah ada blok yang hilang di HDFS. Anda bisa menjalankan
hdfs fsck hdfs://mycluster/
Jalankan
hdfs fsck hdfs://mycluster/ -delete
terlalu paksa pembersihan HDFS dan untuk menyingkirkan masalah RM siaga. Atau, jalankan PatchYarnNodeLabel pada salah satu headnode untuk melakukan patch terhadap kluster.
Langkah berikutnya
Jika Anda tidak melihat masalah atau tidak dapat memecahkan masalah, kunjungi salah satu saluran berikut untuk mendapatkan dukungan lebih lanjut:
Dapatkan jawaban dari para ahli Azure melalui Dukungan Komunitas Azure.
Hubungi @AzureSupport - akun Microsoft Azure resmi untuk meningkatkan pengalaman pelanggan. Menghubungkan komunitas Microsoft Azure ke sumber daya yang tepat: jawaban, dukungan, dan pakar.
Jika Anda memerlukan bantuan lainnya, Anda dapat mengirimkan permintaan dukungan dari portal Microsoft Azure. Pilih Dukungan dari bilah menu atau buka hub Bantuan + Dukungan. Untuk informasi selengkapnya, tinjau Cara membuat permintaan dukungan Microsoft Azure. Akses ke Manajemen Langganan dan dukungan tagihan disertakan dengan langganan Microsoft Azure, dan Dukungan Teknis disediakan melalui salah satu Paket Dukungan Azure.