Bagikan melalui


Menggunakan fitur diperluas di Server Riwayat Apache Spark untuk men-debug dan mendiagnosis aplikasi Spark - Microsoft Azure HDInsight

Artikel ini memperlihatkan kepada Anda cara menggunakan fitur yang diperluas dari Server Riwayat Apache Spark untuk men-debug dan mendiagnosis aplikasi Spark yang telah selesai atau berjalan. Ekstensi ini mencakup tab Data, tab Microsoft Azure Active Directory Graph, dan tab Diagnosis. Pada tab Data. Anda dapat memeriksa data input dan output dari pekerjaan Spark. Pada tab Microsoft Azure Active Directory Graph, Anda dapat memeriksa aliran data dan pemutaran ulang grafik pekerjaan. Pada tab Diagnosis, Anda dapat merujuk ke fitur Data Skew, Time Skew, dan Analisis Penggunaan Pelaksana.

Mendapatkan akses ke Server Riwayat Spark

Server Riwayat Spark adalah UI web untuk aplikasi Spark yang selesai dan berjalan. Anda dapat membukanya baik dari portal Microsoft Azure atau dari URL.

Buka UI web Server Riwayat Spark dari portal Microsoft Azure

  1. Dari portal Azure, buka kluster Spark. Untuk informasi selengkapnya, lihat Cantumkan dan tunjukkan kluster.

  2. Dari Dasbor kluster, pilih Server riwayat Spark. Saat diminta, masukkan info masuk admin untuk kluster Spark.

    Launch the Spark History Server from the Azure portal.portal Azure." border="true":::

Buka UI web Server Riwayat Spark menurut URL

Buka Server Riwayat Spark dengan menelusuri ke https://CLUSTERNAME.azurehdinsight.net/sparkhistory, di mana CLUSTERNAME adalah nama kluster Spark Anda.

UI web Server Riwayat Spark mungkin terlihat mirip dengan gambar ini:

The Spark History Server page.

Menggunakan tab Data di Server Riwayat Spark

Pilih ID pekerjaan, lalu pilih Data pada menu alat untuk melihat tampilan data.

  • Tinjau Input, Output, dan Operasi Tabel dengan memilih tab individual.

    Data tabs on the Data for Spark Application page.

  • Menyalin semua baris dengan memilih tombol Salin.

    Copy data on the Spark application page.

  • Menyimpan semua data sebagai .File CSV dengan memilih tombol csv.

    Save data as a .CSV file from the Data for Spark Application page.

  • Mencari data dengan memasukkan kata kunci di bidang Pencarian. Hasil pencarian akan segera ditampilkan.

    Search data on the Data for Spark Application page.

  • Pilih header kolom untuk mengurutkan tabel. Pilih tanda plus untuk memperluas baris untuk menampil detail selengkapnya. Pilih tanda minus untuk menciutkan baris.

    The data table on the Data for Spark Application page.

  • Unduh satu file dengan memilih tombol Unduh Sebagian di sebelah kanan. File yang dipilih akan diunduh secara lokal. Jika file tidak ada lagi, ini akan membuka tab baru untuk menampilkan pesan kesalahan.

    The data download row on the Data for Spark Application page.

  • Salin jalur lengkap atau jalur relatif dengan memilih opsi Salin Jalur Lengkap atau Salin Jalur Relatif, yang diperluas dari menu pengunduhan. Untuk file Azure Data Lake Storage, pilih Buka di Azure Storage Explorer untuk meluncurkan Azure Storage Explorer dan temukan folder setelah masuk.

    Copy Full Path and Copy Relative Path options on the Data for Spark Application page.

  • Jika ada terlalu banyak baris untuk ditampilkan pada satu halaman, pilih nomor halaman di bagian bawah tabel untuk diarahkan.

    Page numbers on the Data for Spark Application page.

  • Untuk informasi selengkapnya, arahkan kursor atau pilih tanda tanya di samping Data untuk Aplikasi Spark untuk memperlihatkan tooltip.

    Get more information from the Data for Spark Application page.

  • Untuk mengirim umpan balik tentang masalah, pilih Beri kami umpan balik.

    Provide feedback from the Data for Spark Application page.

Menggunakan tab Microsoft Azure Active Directory Graph di Server Riwayat Spark

  • Pilih ID pekerjaan, lalu pilih Microsoft Azure Active Directory Graph pada menu alat untuk melihat grafik pekerjaan. Secara default, grafik akan menampilkan semua pekerjaan. Filter hasilnya dengan menggunakan menu turun bawah ID Pekerjaan.

    The Job ID drop-down menu on the Spark Application & Job Graph page.

  • Progres dipilih secara default. Memeriksa aliran data dengan memilih Baca atau Tulis di Tampilan menu turun bawah.

    Check the data flow on the Spark Application & Job Graph page.

  • Warna latar belakang setiap tugas sesuai dengan peta panas.

    The heat map on the Spark Application & Job Graph page.

    Warna Deskripsi
    Hijau Pekerjaan berhasil diselesaikan.
    Orange Tugas gagal, tetapi ini tidak memengaruhi hasil akhir pekerjaan. Tugas ini memiliki instans duplikat atau coba lagi yang mungkin berhasil nanti.
    Biru Tugas sedang berjalan.
    Putih Tugas sedang menunggu untuk menjalankan, atau tahap telah dilewati.
    Merah Tugas telah gagal.

    Running a task on the Spark Application & Job Graph page.

    Tahapan yang dilewati ditampilkan dalam warna putih. A skipped task on the Spark Application & Job Graph page.

    A failed task on the Spark Application & Job Graph page.

    Catatan

    Pemutaran tersedia untuk pekerjaan yang telah selesai. Pilih tombol Pemutaran untuk memutar pekerjaan kembali. Menghentikan pekerjaan kapan saja dengan memilih tombol hentikan. Ketika tugas diputar kembali, setiap tugas akan menampilkan statusnya berdasarkan warna. Pemutaran tidak didukung untuk pekerjaan yang tidak lengkap.

  • Gulir untuk memperbesar atau memperkecil grafik tugas, atau pilih Perbesar tampilan agar pas ke layar.

    Select Zoom to fit on the Spark Application & Job Graph page.

  • Ketika tugas gagal, arahkan kursor ke simpul grafik untuk melihat tooltip, lalu pilih tahapan untuk membukanya di halaman baru.

    View the tooltip on the Spark Application & Job Graph page.

  • Pada halaman Microsoft Azure Active Directory Graph Pekerjaan dan Aplikasi Spark, tahapan akan menampilkan tips alat dan ikon kecil jika tugas memenuhi ketentuan ini:

    • Skew data: Ukuran baca data > rata-rata ukuran baca data semua tugas di dalam tahap ini * 2 dan ukuran baca data > 10 MB.

    • Kemiringan waktu: Waktu eksekusi > waktu eksekusi rata-rata semua tugas di dalam tahap ini * 2 dan waktu eksekusi > 2 menit.

      The skewed task icon on the Spark Application & Job Graph page.

  • Simpul grafik pekerjaan akan menampilkan informasi berikut tentang setiap tahap:

    • ID

    • Nama atau deskripsi

    • Total jumlah tugas

    • Baca data: jumlah ukuran input dan ukuran baca acak

    • Tulis data: jumlah ukuran output dan ukuran tulis acak

    • Waktu eksekusi: waktu antara waktu mulai upaya pertama dan waktu penyelesaian upaya terakhir

    • Jumlah baris: jumlah rekaman input, rekaman output, acak rekaman baca, dan rekaman tulis acak

    • Progres

      Catatan

      Secara default, simpul grafik pekerjaan akan menampilkan informasi dari upaya terakhir setiap tahap (kecuali untuk waktu eksekusi tahap). Tetapi selama pemutaran, simpul grafik pekerjaan akan menampilkan informasi tentang setiap upaya.

      Catatan

      Untuk ukuran baca data dan penulisan data, kami menggunakan 1MB = 1000 KB = 1000 * 1000 byte.

  • Mengirim umpan balik tentang masalah dengan memilih Beri kami umpan balik.

    The feedback option on the Spark Application & Job Graph page.

Menggunakan tab Data di Server Riwayat Spark

Pilih ID pekerjaan, lalu pilih Diagnosis pada menu alat untuk melihat tampilan diagnosis pekerjaan. Tab Diagnosis mencakup Penyimpangan Data, Penyimpangan Waktu, dan Analisis Penggunaan Pelaksana.

  • Meninjau Penyimpangan Data, Penyimpangan Waktu, dan Analisis Penggunaan Pelaksana dengan memilih tab masing-masing.

    The Data Skew tab within the Diagnosis tab.

Penyimpangan Data

Pilih tab Penyimpangan Data Tugas miring yang sesuai ditampilkan berdasarkan parameter yang ditentukan.

Menentukan Parameter

Bagian Menentukan Parameter menampilkan parameter, yang digunakan untuk mendeteksi Penyimpangan Data. Aturan defaultnya adalah: Data tugas yang dibaca lebih besar dari tiga kali dari rata-rata data tugas yang dibaca, dan data tugas yang dibaca lebih dari 10 MB. Jika Anda ingin menentukan aturan Anda sendiri untuk tugas miring, Anda dapat memilih parameter Anda. Bagian Penyimpangan Tahapan dan Penyimpangan Bagan akan diperbarui sesuai.

Tahapan Miring

Bagian Tahapan Miring menampilkan tahapan yang memiliki tugas miring yang memenuhi kriteria yang ditentukan. Jika ada lebih dari satu tugas miring dalam tahapan, bagian Tahapan Miring hanya menampilkan tugas yang paling miring (artinya, data terbesar untuk penyimpangan data).

Larger view of the Data Skew tab within the Diagnosis tab.

Bagan miring

Saat Anda memilih baris dalam tabel Tahapan Miring, Bagan Miring menampilkan lebih banyak detail distribusi tugas berdasarkan waktu baca dan eksekusi data. Tugas miring ditandai dengan warna merah, dan tugas normal ditandai dengan warna biru. Untuk pertimbangan performa, bagan menampilkan hingga 100 tugas sampel. Detail tugas ditampilkan di panel kanan bawah.

The Skew Chart for Stage 10 in the Spark UI.

Penyimpangan Waktu

Tab Penyimpangan Waktu menampilkan tugas menyimpang berdasarkan waktu eksekusi tugas.

Menentukan Parameter

Bagian Tentukan Parameter menampilkan parameter, yang digunakan untuk mendeteksi penyimpangan waktu. Aturan default adalah: Waktu eksekusi tugas lebih besar dari tiga kali waktu eksekusi rata-rata, dan waktu eksekusi tugas lebih besar dari 30 detik. Anda dapat mengubah parameter berdasarkan kebutuhan Anda. Tahap Miring dan Bagan Miring menampilkan informasi tahapan dan tugas yang sesuai, seperti di tab Penyimpangan Data.

Saat Anda memilih Penyimpangan Waktu, hasil yang difilter ditampilkan di bagian Tahap Miring, sesuai dengan parameter yang diatur di bagian Tentukan Parameter. Saat Anda memilih satu item di bagian Tahapan Miring, bagan terkait disusun di bagian ketiga, dan detail tugas ditampilkan di panel kanan bawah.

The Time skew tab within the Diagnosis tab.

Grafik Analisis Penggunaan Pelaksana

Microsoft Azure Active Directory Graph Penggunaan Pelaksana menampilkan alokasi pelaksana aktual pekerjaan dan status berjalan.

Ketika Anda memilih Analisis Penggunaan Pelaksana, empat kurva berbeda tentang penggunaan pelaksana disusun: Pelaksana yang dialokasikan, Pelaksana Berjalan, Pelaksana menganggur, dan Instans Maks Pelaksana. Setiap Pelaksana yang ditambahkan atau Pelaksana peristiwa dihapus akan menambah atau mengurangi pelaksana yang dialokasikan. Anda dapat memeriksa garis waktu Peristiwa di tab Tugas untuk perbandingan lebih lanjut.

The Executor Usage Analysis tab within the Diagnosis tab.

Pilih ikon warna untuk memilih atau membatalkan pilihan konten yang sesuai di semua draf.

Select the chart in the Executor Usage Analysis tab.

FAQ

Bagaimana cara kembali ke versi komunitas?

Untuk kembali ke versi komunitas, lakukan langkah-langkah berikut.

  1. Buka kluster di Apache Ambari.

  2. Menavigasi ke Spark2>Configs.

  3. Pilih Spark2-defaults Kustom.

  4. Pilih Tambahkan Properti ....

  5. Tambahkan spark.ui.enhancement.enabled=false, lalu simpan.

  6. Properti diatur ke salah sekarang.

  7. Pilih Simpan untuk menyimpan konfigurasi.

    Turn off a feature in Apache Ambari.

  8. Pilih Spark2 di panel kiri. Lalu, pada tab Ringkasan, pilih Server History Spark2.

    The summary view in Apache Ambari.

  9. Untuk memulai ulang Server Riwayat Spark, pilih tombol Mulai di sebelah kanan Spark2 History Server, lalu pilih Mulai ulang dari menu turun bawah.

    Restart the Spark History Server in Apache Ambari.

  10. Buka UI web Server Riwayat Spark menurut URL. Bagaimana cara kembali ke versi komunitas.

Bagaimana cara mengunggah peristiwa Server Riwayat Spark untuk melaporkannya sebagai masalah?

Jika Anda mengalami kesalahan di Server Riwayat Spark, lakukan langkah-langkah berikut untuk melaporkan peristiwa tersebut.

  1. Unduh acara dengan memilih Unduh di UI web Server Riwayat Spark.

    Download the event in the Spark History Server UI.

  2. Pilih Memberikan kami umpan balik dari halaman Aplikasi Spark & Microsoft Azure Active Directory Graph Pekerjaan.

    Provide feedback on the Spark Application & Job Graph page.

  3. Memberikan judul dan deskripsi kesalahan. Lalu, seret file .zip ke bidang edit dan pilih Kirim masalah baru.

    Upload and submit a new issue.

Bagaimana cara meningkatkan file .jar dalam skenario hotfix?

Jika Anda ingin memutakhirkan dengan hotfix, gunakan skrip berikut, yang akan meningkatkan spark-enhancement.jar*.

upgrade_spark_enhancement.sh:

 #!/usr/bin/env bash

 # Copyright (C) Microsoft Corporation. All rights reserved.

 # Arguments:
 # $1 Enhancement jar path

 if [ "$#" -ne 1 ]; then
     >&2 echo "Please provide the upgrade jar path."
     exit 1
 fi

 install_jar() {
     tmp_jar_path="/tmp/spark-enhancement-hotfix-$( date +%s )"

     if wget -O "$tmp_jar_path" "$2"; then
         for FILE in "$1"/spark-enhancement*.jar
         do
             back_up_path="$FILE.original.$( date +%s )"
             echo "Back up $FILE to $back_up_path"
             mv "$FILE" "$back_up_path"
             echo "Copy the hotfix jar file from $tmp_jar_path   to $FILE"
             cp "$tmp_jar_path" "$FILE"

             "Hotfix done."
             break
         done
     else    
         >&2 echo "Download jar file failed."
         exit 1
     fi
 }

 jars_folder="/usr/hdp/current/spark2-client/jars"
 jar_path=$1

 if ls ${jars_folder}/spark-enhancement*.jar 1>/dev/null 2>&1;   then
     install_jar "$jars_folder" "$jar_path"
 else
     >&2 echo "There is no target jar on this node. Exit with no action."
     exit 0
 fi

Penggunaan

upgrade_spark_enhancement.sh https://${jar_path}

Contoh

upgrade_spark_enhancement.sh https://${account_name}.blob.core.windows.net/packages/jars/spark-enhancement-${version}.jar

Menggunakan file bash dari portal Microsoft Azure

  1. Meluncurkan portal Microsoft Azure, lalu pilih kluster Anda.

  2. Menyelesaikan tindakan skrip dengan parameter berikut.

    Properti Nilai
    Jenis skrip - Kustom
    Nama UpgradeJar
    URI skrip bash https://hdinsighttoolingstorage.blob.core.windows.net/shsscriptactions/upgrade_spark_enhancement.sh
    Jenis node Kepala, Pekerja
    Parameter https://${account_name}.blob.core.windows.net/packages/jars/spark-enhancement-${version}.jar

    Azure portal submit script action.

Masalah umum

  • Saat ini, Server Riwayat Spark hanya berfungsi untuk Spark 2.3 dan 2.4.

  • Data input dan output yang menggunakan RDD tidak akan ditampilkan di tab Data.

Langkah berikutnya

Saran

Jika Anda memiliki umpan balik atau menemukan masalah saat menggunakan alat ini, kirim email ke (hdivstool@microsoft.com).