SSH aracılığıyla IntelliJ için Azure Toolkit ile HDInsight kümesinde Apache Spark uygulamalarında hata ayıklama
Bu makalede, HDInsight kümesindeki uygulamalarda uzaktan hata ayıklamak için Azure Toolkit for IntelliJ'de HDInsight Araçları'nı kullanma hakkında adım adım yönergeler sağlanır.
Önkoşullar
HDInsight üzerinde bir Apache Spark kümesi. Bkz . Apache Spark kümesi oluşturma.
Windows kullanıcıları için: Yerel Spark Scala uygulamasını bir Windows bilgisayarda çalıştırırken SPARK-2356'da açıklandığı gibi bir özel durum alabilirsiniz. Windows'ta WinUtils.exe eksik olduğundan özel durum oluşur.
Bu hatayı çözmek için Winutils.exe C:\WinUtils\bin gibi bir konuma indirin. Ardından HADOOP_HOME ortam değişkenini ekleyin ve değişkenin değerini C:\WinUtils olarak ayarlayın.
IntelliJ IDEA (Community sürümü ücretsizdir.).
IntelliJ için Azure Toolkit.
IntelliJ için Scala eklentisi.
Bir SSH istemcisi. Daha fazla bilgi için bkz. SSH kullanarak HDInsight'a (Apache Hadoop) bağlanma.
Spark Scala uygulaması oluşturma
IntelliJ IDEA'yı başlatın ve Yeni Proje Oluştur'u seçerek Yeni Proje penceresini açın.
Sol bölmeden Apache Spark/HDInsight'ı seçin.
Ana pencereden Örneklerle Spark Projesi (Scala) seçeneğini belirleyin.
Derleme aracı açılan listesinden aşağıdakilerden birini seçin:
- Scala için Maven proje oluşturma sihirbazı desteği.
- Scala projesi için bağımlılıkları yönetmeye ve oluşturmaya yönelik SBT .
İleri'yi seçin.
Sonraki Yeni Proje penceresinde aşağıdaki bilgileri sağlayın:
Özellik Açıklama Proje adı Bir ad girin. Bu kılavuzda kullanır. myApp
Proje konumu Projenizi kaydetmek için istediğiniz konumu girin. Proje SDK'sı Boşsa Yeni... öğesini seçin ve JDK'nize gidin. Spark Sürümü Oluşturma sihirbazı, Spark SDK ve Scala SDK'sı için uygun sürümü tümleştirir. Spark kümesi sürümü 2.0’dan eskiyse Spark 1.x seçeneğini belirleyin. Aksi takdirde Spark 2.x.. seçeneğini belirleyin. Bu örnekte Spark 2.3.0 (Scala 2.11.8) kullanılır. Bitir'i seçin. Projenin kullanılabilir duruma gelmesi birkaç dakika sürebilir. İlerleme durumu için sağ alt köşeyi izleyin.
Projenizi genişletin ve src>ana>scala örneğine> gidin. SparkCore_WasbIOTest çift tıklayın.
Yerel çalıştırma gerçekleştirme
SparkCore_WasbIOTest betiğinde betik düzenleyicisine sağ tıklayın ve ardından Yerel çalıştırmayı gerçekleştirmek için 'SparkCore_WasbIOTest' çalıştır'ı seçin.
Yerel çalıştırma tamamlandıktan sonra çıkış dosyasının geçerli proje gezgini verilerinize>varsayılan olarak kaydedildiğini görebilirsiniz.
Araçlarımız, yerel çalıştırma ve yerel hata ayıklama gerçekleştirdiğinizde varsayılan yerel çalıştırma yapılandırmasını otomatik olarak ayarlamış. Sağ üst köşedeki [HDInsight üzerinde Spark] XXX yapılandırmasını açın, HDInsight üzerinde Apache Spark altında zaten oluşturulmuş [HDInsight üzerinde Spark]XXX dosyasını görebilirsiniz. Yerel Olarak Çalıştır sekmesine geçin.
- Ortam değişkenleri: HADOOP_HOME sistem ortamı değişkenini zaten C:\WinUtils olarak ayarladıysanız, el ile eklemeye gerek olmadığını otomatik olarak algılayabilir.
- WinUtils.exe Konumu: Sistem ortam değişkenini ayarlamadıysanız, konumu düğmesine tıklayarak bulabilirsiniz.
- İki seçenek arasından seçim yapmanız gerekir ve MacOS ve Linux'ta gerekli değildir.
Yerel çalıştırma ve yerel hata ayıklama gerçekleştirmeden önce yapılandırmayı el ile de ayarlayabilirsiniz. Yukarıdaki ekran görüntüsünde artı işaretini (+ ) seçin. Ardından HDInsight üzerinde Apache Spark seçeneğini belirleyin. Kaydedilecek Ad, Ana sınıf adı bilgilerini girin, ardından yerel çalıştır düğmesine tıklayın.
Yerel hata ayıklama gerçekleştirme
SparkCore_wasbloTest betiğini açın, kesme noktalarını ayarlayın.
Betik düzenleyicisine sağ tıklayın ve yerel hata ayıklama gerçekleştirmek için Hata Ayıklama '[HDInsight'ta Spark]XXX' seçeneğini belirleyin.
Uzaktan çalıştırma gerçekleştirme
Yapılandırmaları Düzenle'yi Çalıştır'a >gidin.... Bu menüden, uzaktan hata ayıklama için yapılandırmalar oluşturabilir veya düzenleyebilirsiniz.
Çalıştır/Yapılandırmalarda Hata Ayıkla iletişim kutusunda artı işaretini ()+ seçin. Ardından HDInsight üzerinde Apache Spark seçeneğini belirleyin.
Kümede Uzaktan Çalıştır sekmesine geçin. Ad, Spark kümesi ve Ana sınıf adı bilgilerini girin. Ardından Gelişmiş yapılandırma (Uzaktan Hata Ayıklama) seçeneğine tıklayın. Araçlarımız Yürütücüler ile hata ayıklamayı destekler. numExectors, varsayılan değer 5'tir. 3'ten yüksek bir değer ayarlamasan iyi olur.
Gelişmiş Yapılandırma (Uzaktan Hata Ayıklama) bölümünde Spark uzaktan hata ayıklamayı etkinleştir'i seçin. SSH kullanıcı adını girin ve ardından bir parola girin veya özel anahtar dosyası kullanın. Uzaktan hata ayıklama gerçekleştirmek istiyorsanız, bunu ayarlamanız gerekir. Yalnızca uzaktan çalıştırmayı kullanmak istiyorsanız ayarlamanıza gerek yoktur.
Yapılandırma artık sağladığınız adla kaydedilir. Yapılandırma ayrıntılarını görüntülemek için yapılandırma adını seçin. Değişiklik yapmak için Yapılandırmaları Düzenle'yi seçin.
Yapılandırma ayarlarını tamamladıktan sonra projeyi uzak kümede çalıştırabilir veya uzaktan hata ayıklama gerçekleştirebilirsiniz.
Gönderme günlüklerinin sol panelde görünmediği Bağlantıyı Kes düğmesine tıklayın. Ancak, arka uçta çalışmaya devam eder.
Uzaktan hata ayıklama gerçekleştirme
Kesme noktalarını ayarlayın ve ardından Uzaktan hata ayıklama simgesine tıklayın. Uzaktan gönderimdeki fark, SSH kullanıcı adı/parolasının yapılandırılması gerektiğidir.
Program yürütmesi hata noktasına ulaştığında, Hata Ayıklayıcı bölmesinde bir Sürücü sekmesi ve iki Yürütücü sekmesi görürsünüz. Kodu çalıştırmaya devam etmek için Programı Sürdür simgesini seçin; bu simge sonraki kesme noktasına ulaşır. Hata ayıklamak için hedef yürütücüsü bulmak için doğru Yürütücü sekmesine geçmeniz gerekir. Yürütme günlüklerini ilgili Konsol sekmesinde görüntüleyebilirsiniz.
Uzaktan hata ayıklama ve hata düzeltme gerçekleştirme
İki kesme noktası ayarlayın ve ardından Hata Ayıkla simgesini seçerek uzaktan hata ayıklama işlemini başlatın.
Kod ilk kesme noktasında durur ve parametre ve değişken bilgileri Değişkenler bölmesinde gösterilir.
Devam etmek için Programı Sürdür simgesini seçin. Kod ikinci noktada durur. Özel durum beklendiği gibi yakalanmış.
Programı Sürdür simgesini yeniden seçin. HDInsight Spark Gönderimi penceresinde "iş çalıştırılamadı" hatası görüntülenir.
IntelliJ hata ayıklama özelliğini kullanarak değişken değerini dinamik olarak güncelleştirmek için yeniden Hata Ayıkla'yı seçin. Değişkenler bölmesi yeniden görüntülenir.
Hata Ayıkla sekmesinde hedefe sağ tıklayın ve ardından Değer Ayarla'yı seçin. Ardından değişken için yeni bir değer girin. Ardından değeri kaydetmek için Enter'ı seçin.
Programı çalıştırmaya devam etmek için Programı Sürdür simgesini seçin. Bu kez hiçbir istisna yakalanmaz. Projenin herhangi bir özel durum olmadan başarıyla çalıştığını görebilirsiniz.
Sonraki adımlar
Senaryolar
- BI ile Apache Spark: BI araçlarıyla HDInsight'ta Spark kullanarak etkileşimli veri analizi gerçekleştirme
- Machine Learning ile Apache Spark: HVAC verilerini kullanarak bina sıcaklığını analiz etmek için HDInsight'ta Spark kullanma
- Machine Learning ile Apache Spark: Gıda denetimi sonuçlarını tahmin etmek için HDInsight'ta Spark kullanma
- HDInsight'ta Apache Spark kullanarak web sitesi günlük analizi
Uygulamaları oluşturma ve çalıştırma
- Scala kullanarak tek başına uygulama oluşturma
- Apache Livy kullanarak apache Spark kümesinde işleri uzaktan çalıştırma
Araçlar ve uzantılar
- HDInsight kümesi için Apache Spark uygulamaları oluşturmak üzere IntelliJ için Azure Toolkit kullanma
- Vpn aracılığıyla Apache Spark uygulamalarında uzaktan hata ayıklamak için IntelliJ için Azure Toolkit'i kullanma
- Apache Spark uygulamaları oluşturmak için Azure Toolkit for Eclipse'te HDInsight Araçları'nı kullanma
- HDInsight üzerinde Apache Spark kümesiyle Apache Zeppelin not defterlerini kullanma
- HDInsight için Apache Spark kümesinde Jupyter Notebook için kullanılabilir çekirdekler
- Jupyter Notebooks ile dış paketleri kullanma
- Jupyter’i bilgisayarınıza yükleme ve bir HDInsight Spark kümesine bağlanma