Apache Spark-alkalmazások hibakeresése HDInsight-fürtön az Azure Toolkit for IntelliJ-vel SSH-n keresztül

Ez a cikk részletes útmutatást nyújt arról, hogyan használható a HDInsight Tools az Azure Toolkit for IntelliJ-ben alkalmazások távoli hibakeresésére EGY HDInsight-fürtön.

Előfeltételek

Spark Scala-alkalmazás létrehozása

  1. Indítsa el az IntelliJ IDEA-t, és válassza az Új projekt létrehozása lehetőséget az Új projekt ablak megnyitásához.

  2. Válassza az Apache Spark/HDInsight lehetőséget a bal oldali panelen.

  3. Válassza a Spark Project with Samples (Scala) lehetőséget a főablakból.

  4. A Build eszköz legördülő listájában válasszon az alábbiak közül:

    • A Maven a Scala projektlétrehozási varázslójának támogatása.
    • SBT a függőségek kezeléséhez és a Scala-projekt létrehozásához.

    Intellij Create New Project Spark.

  5. Válassza a Tovább lehetőséget.

  6. A következő Új projekt ablakban adja meg a következő információkat:

    Tulajdonság Leírás
    Projekt neve Adjon meg egy nevet. Ez az útmutató a felhasználásokat ismerteti myApp.
    Projekt helye Adja meg a projekt mentésének kívánt helyét.
    Project SDK Ha üres, válassza az Új lehetőséget, és lépjen a JDK-ra.
    Spark-verzió A létrehozási varázsló integrálja a Spark SDK és a Scala SDK megfelelő verzióját. Ha a Spark-fürt verziója 2.0-nál korábbi, válassza a Spark 1.x lehetőséget. Ellenkező esetben válassza a Spark 2.x. Ez a példa a Spark 2.3.0 -t (Scala 2.11.8) használja.

    Intellij New Project select Spark version.

  7. Válassza a Befejezés lehetőséget. A projekt elérhetővé válása eltarthat néhány percig. A jobb alsó sarokban megtekintheti az előrehaladást.

  8. Bontsa ki a projektet, és navigáljon az src>>scala-mintához.> Kattintson duplán a SparkCore_WasbIOTest.

Helyi futtatás végrehajtása

  1. A SparkCore_WasbIOTest szkriptben kattintson a jobb gombbal a szkriptszerkesztőre, majd válassza a "SparkCore_WasbIOTest" parancsot a helyi futtatáshoz.

  2. Miután a helyi futtatás befejeződött, láthatja a kimeneti fájl mentését az aktuális projektkezelő alapértelmezett adataiba>.

    Intellij Project local run result.

  3. Eszközeink automatikusan beállították az alapértelmezett helyi futtatási konfigurációt a helyi futtatás és a helyi hibakeresés végrehajtásakor. Nyissa meg a konfigurációt [Spark on HDInsight] XXX a jobb felső sarokban, a [Spark on HDInsight]XXX már létrejött az Apache Spark on HDInsight alatt. Váltás helyi futtatás lapra.

    Intellij Run debug configurations local run.

    • Környezeti változók: Ha már beállította a rendszer környezeti változójának HADOOP_HOME C:\WinUtils értékre, automatikusan észleli, hogy nincs szükség manuális hozzáadásra.
    • WinUtils.exe Hely: Ha nem állította be a rendszerkörnyezet változóját, a gombra kattintva megtalálhatja a helyet.
    • Csak válasszon két lehetőség közül, és ezekre nincs szükség MacOS-en és Linuxon.
  4. A helyi futtatás és a helyi hibakeresés végrehajtása előtt manuálisan is beállíthatja a konfigurációt. Az előző képernyőképen válassza ki a pluszjelet (+). Ezután válassza az Apache Spark on HDInsight lehetőséget. Adja meg a név, a menteni kívánt főosztály nevét, majd kattintson a helyi futtatás gombra.

Helyi hibakeresés végrehajtása

  1. Nyissa meg a SparkCore_wasbloTest szkriptet, és állítson be töréspontokat.

  2. Kattintson a jobb gombbal a szkriptszerkesztőre, majd válassza a Hibakeresés a(z) [Spark on HDInsight]XXX" lehetőséget a helyi hibakeresés végrehajtásához.

Távoli futtatás végrehajtása

  1. Navigáljon a Szerkesztési konfigurációk futtatásához>.... Ebből a menüből létrehozhatja vagy szerkesztheti a távoli hibakeresés konfigurációit.

  2. A Konfigurációk futtatása/hibakeresése párbeszédpanelen válassza a pluszjelet (+). Ezután válassza az Apache Spark on HDInsight lehetőséget.

    Intellij Add new configuration.

  3. Váltson távoli futtatásra a Fürt lapon. Adja meg a Név, a Spark-fürt és a főosztály nevét. Ezután kattintson a Speciális konfiguráció (Távoli hibakeresés) elemre. Eszközeink támogatják a végrehajtókkal való hibakeresést. A numExectors alapértelmezett értéke 5. Jobb, ha nem állítja be a 3-nál magasabb értéket.

    Intellij Run debug configurations.

  4. A Speciális konfiguráció (Távoli hibakeresés) részben válassza a Spark távoli hibakeresésének engedélyezése lehetőséget. Adja meg az SSH-felhasználónevet, majd adjon meg egy jelszót, vagy használjon titkos kulcsfájlt. Ha távoli hibakeresést szeretne végezni, be kell állítania. Nincs szükség a beállításra, ha csak távoli futtatásra van szüksége.

    Intellij Advanced Configuration enable spark remote debug.

  5. A konfigurációt a megadott névvel menti a rendszer. A konfiguráció részleteinek megtekintéséhez válassza ki a konfiguráció nevét. A módosítások elvégzéséhez válassza a Konfigurációk szerkesztése lehetőséget.

  6. A konfigurációs beállítások elvégzése után futtathatja a projektet a távoli fürtön, vagy elvégezheti a távoli hibakeresést.

    Intellij Debug Remote Spark Job Remote run button.

  7. Kattintson arra a Leválasztás gombra, amelyen a beküldési naplók nem jelennek meg a bal oldali panelen. A háttérrendszeren azonban továbbra is fut.

    Intellij Debug Remote Spark Job Remote run result.

Távoli hibakeresés végrehajtása

  1. Állítson be töréspontokat, majd kattintson a Távoli hibakeresés ikonra. A távoli beküldés különbsége, hogy az SSH-felhasználónevet/jelszót konfigurálni kell.

    Intellij Debug Remote Spark Job debug icon.

  2. Amikor a program végrehajtása eléri a töréspontot, megjelenik egy Illesztőprogram lap és két Végrehajtó lap a Hibakereső panelen. A Program folytatása ikonra kattintva folytathatja a kód futtatását, amely ezután eléri a következő töréspontot. A hibakereséshez a megfelelő Végrehajtó lapra kell váltania. A végrehajtási naplókat a megfelelő Konzol lapon tekintheti meg.

    Intellij Debug Remote Spark Job Debugging tab.

Távoli hibakeresés és hibajavítás végrehajtása

  1. Állítson be két töréspontot, majd válassza a Hibakeresés ikont a távoli hibakeresési folyamat elindításához.

  2. A kód az első töréspontnál áll meg, és a paraméter és a változó adatai megjelennek a Változók panelen.

  3. A folytatáshoz válassza a Program folytatása ikont. A kód a második ponton áll meg. A kivétel a várt módon történik.

    Intellij Debug Remote Spark Job throw error.

  4. Válassza ismét a Program folytatása ikont. A HDInsight Spark-beküldési ablakban "a feladat futtatása sikertelen" hibaüzenet jelenik meg.

    Intellij Debug Remote Spark Job Error submission.

  5. Ha dinamikusan szeretné frissíteni a változó értékét az IntelliJ hibakeresési funkciójának használatával, válassza ismét a Hibakeresés lehetőséget. Ismét megjelenik a Változók panel.

  6. Kattintson a jobb gombbal a célra a Hibakeresés lapon, majd válassza az Érték beállítása parancsot. Ezután adjon meg egy új értéket a változóhoz. Ezután kattintson az Enter gombra az érték mentéséhez.

    Intellij Debug Remote Spark Job set value.

  7. A program futtatásához válassza a Program folytatása ikont. Ezúttal a rendszer nem kap kivételt. Láthatja, hogy a projekt kivétel nélkül sikeresen fut.

    Intellij Debug Remote Spark Job without exception.

Következő lépések

Forgatókönyvek

Alkalmazások létrehozása és futtatása

Eszközök és bővítmények

Erőforrások kezelése