Azure HDInsight üzerinde çalışan Apache Spark işlerinin hatasını ayıklama

Bu makalede, HDInsight kümelerinde çalışan Apache Spark işlerini izlemeyi ve hatalarını ayıklamayı öğreneceksiniz. Apache Hadoop YARN kullanıcı arabirimini, Spark kullanıcı arabirimini ve Spark Geçmiş Sunucusu'nu kullanarak hata ayıklama. Makine öğrenmesi: MLLib kullanarak gıda denetleme verileri üzerinde tahmine dayalı analiz adlı Spark kümesiyle kullanılabilen bir not defteri kullanarak bir Spark işi başlatırsınız. Spark-submit gibi başka bir yaklaşım kullanarak gönderdiğiniz bir uygulamayı izlemek için aşağıdaki adımları kullanın.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

YARN kullanıcı arabiriminde bir uygulamayı izleme

  1. YARN kullanıcı arabirimini başlatın. Küme panoları altında Yarn'ı seçin.

    Azure portal launch YARN UI.

    İpucu

    Alternatif olarak, Yarn kullanıcı arabirimini Ambari kullanıcı arabiriminden de başlatabilirsiniz. Ambari kullanıcı arabirimini başlatmak için Küme panoları altında Ambari giriş'i seçin. Ambari kullanıcı arabiriminde, etkin Resource Manager Resource Manager >kullanıcı arabiriminin YARN>Hızlı Bağlantıları'na> gidin.

  2. Spark işini Jupyter Notebooks kullanarak başlattığınız için, uygulama remotesparkmagics (not defterlerinden başlatılan tüm uygulamaların adı) adına sahiptir. İş hakkında daha fazla bilgi edinmek için uygulama adından uygulama kimliğini seçin. Bu eylem uygulama görünümünü başlatır.

    Spark history server Find Spark application ID.

    Jupyter Not Defterlerinden başlatılan bu tür uygulamalar için, siz not defterinden çıkana kadar durum her zaman ÇALıŞıR DURUMDA olur .

  3. Uygulama görünümünden, uygulamayla ilişkili kapsayıcıları ve günlükleri (stdout/stderr) bulmak için detaya gidebilirsiniz. Aşağıda gösterildiği gibi İzleme URL'sine karşılık gelen bağlamaya tıklayarak da Spark kullanıcı arabirimini başlatabilirsiniz.

    Spark history server download container logs.

Spark kullanıcı arabiriminde bir uygulamayı izleme

Spark kullanıcı arabiriminde, daha önce başlattığınız uygulama tarafından oluşturulan Spark işlerinde detaya gidebilirsiniz.

  1. Spark kullanıcı arabirimini başlatmak için, yukarıdaki ekran görüntüsünde gösterildiği gibi uygulama görünümünden İzleme URL'sinin yanındaki bağlantıyı seçin. Jupyter Notebook'ta çalıştırılan uygulama tarafından başlatılan tüm Spark işlerini görebilirsiniz.

    Spark history server jobs tab.

  2. Her yürütücü için işleme ve depolama bilgilerini görmek için Yürütücüler sekmesini seçin. İş Parçacığı Dökümü bağlantısını seçerek de çağrı yığınını alabilirsiniz.

    Spark history server executors tab.

  3. Uygulamayla ilişkili aşamaları görmek için Aşamalar sekmesini seçin.

    Spark history server stages tab.

    Her aşamada, aşağıda gösterildiği gibi yürütme istatistiklerini görüntüleyebileceğiniz birden çok görev olabilir.

    Spark history server stages tab details.

  4. Aşama ayrıntıları sayfasından DAG Görselleştirme'yi başlatabilirsiniz. Sayfanın üst kısmındaki DAG Görselleştirme bağlantısını aşağıda gösterildiği gibi genişletin.

    View Spark stages DAG visualization.

    DAG veya Doğrudan Aclyic Graph, uygulamadaki farklı aşamaları temsil eder. Grafikteki her mavi kutu, uygulamadan çağrılan bir Spark işlemini temsil eder.

  5. Aşama ayrıntıları sayfasından uygulama zaman çizelgesi görünümünü de başlatabilirsiniz. Aşağıda gösterildiği gibi sayfanın üst kısmındaki Olay Zaman Çizelgesi bağlantısını genişletin.

    View Spark stages event timeline.

    Bu görüntüde Spark olayları zaman çizelgesi biçiminde görüntülenir. Zaman çizelgesi görünümü üç düzeyde, işler arasında, bir işin içinde ve bir aşamada kullanılabilir. Yukarıdaki görüntü, belirli bir aşama için zaman çizelgesi görünümünü yakalar.

    İpucu

    Yakınlaştırmayı etkinleştir onay kutusunu seçerseniz zaman çizelgesi görünümünde sola ve sağa kaydırabilirsiniz.

  6. Spark kullanıcı arabirimindeki diğer sekmeler, Spark örneği hakkında da yararlı bilgiler sağlar.

    • Depolama sekmesi - Uygulamanız bir RDD oluşturursa, bilgileri Depolama sekmesinde bulabilirsiniz.
    • Ortam sekmesi - Bu sekme Spark örneğiniz hakkında aşağıdakiler gibi yararlı bilgiler sağlar:
      • Scala sürümü
      • Kümeyle ilişkilendirilmiş olay günlüğü dizini
      • Uygulama için yürütücü çekirdeği sayısı

Spark Geçmiş Sunucusu'nu kullanarak tamamlanmış işler hakkında bilgi bulma

bir iş tamamlandıktan sonra, iş hakkındaki bilgiler Spark Geçmiş Sunucusu'nda kalıcı hale gönderilir.

  1. Spark Geçmiş Sunucusu'nu başlatmak için Genel Bakış sayfasında Küme panoları altında Spark geçmiş sunucusu'nu seçin.

    Azure portal launch Spark history server.

    İpucu

    Alternatif olarak, Spark Geçmiş Sunucusu kullanıcı arabirimini Ambari kullanıcı arabiriminden de başlatabilirsiniz. Ambari kullanıcı arabirimini başlatmak için Genel Bakış dikey penceresinde Küme panoları altında Ambari giriş'i seçin. Ambari kullanıcı arabiriminden Spark2 Hızlı Bağlantılar>Spark2>Geçmiş Sunucusu kullanıcı arabirimine gidin.

  2. Tamamlanmış uygulamaların tümünün listelendiğini görürsünüz. Daha fazla bilgi için uygulamada detaya gitmek için bir uygulama kimliği seçin.

    Spark history server completed applications.

Ayrıca bkz.