Apache Spark-alkalmazások létrehozása HDInsight-fürthöz az Azure Toolkit for Eclipse használatával

A HDInsight Tools in Azure Toolkit for Eclipse használatával fejlessze a Scalában írt Apache Spark-alkalmazásokat, és küldje el őket egy Azure HDInsight Spark-fürtbe, közvetlenül az Eclipse IDE-ből. A HDInsight Tools beépülő modult többféleképpen is használhatja:

  • Scala Spark-alkalmazás fejlesztése és elküldése HDInsight Spark-fürtön.
  • Az Azure HDInsight Spark-fürt erőforrásainak elérése.
  • Scala Spark-alkalmazás helyi fejlesztése és futtatása.

Előfeltételek

A szükséges beépülő modulok telepítése

Az Azure Toolkit for Eclipse telepítése

A telepítési utasításokért lásd: Az Azure Toolkit for Eclipse telepítése.

A Scala beépülő modul telepítése

Az Eclipse megnyitásakor a HDInsight Tools automatikusan észleli, hogy telepítette-e a Scala beépülő modult. A folytatáshoz válassza az OK gombot , majd az utasításokat követve telepítse a beépülő modult az Eclipse Marketplace-ről. A telepítés befejezése után indítsa újra az IDE-t.

Automatic installation of the Scala plug-in.

Beépülő modulok megerősítése

  1. Lépjen az Eclipse Marketplace súgójához>....

  2. Válassza a Telepített lapot.

  3. Legalább a következőt kell látnia:

    • Az Azure Toolkit for Eclipse <verziója>.
    • Scala IDE-verzió<>.

Jelentkezzen be az Azure-előfizetésébe

  1. Indítsa el az Eclipse IDE-t.

  2. Navigáljon az Ablak>megjelenítési nézete>egyéb...>Bejelentkezés...

  3. A Nézet megjelenítése párbeszédpanelen lépjen az Azure>Azure Explorerbe, és válassza a Megnyitás lehetőséget.

    Apache Spark Eclipse show view.

  4. Az Azure Explorerben kattintson a jobb gombbal az Azure-csomópontra, majd válassza a Bejelentkezés lehetőséget.

  5. Az Azure Bejelentkezési párbeszédpanelen válassza ki a hitelesítési módszert, válassza a Bejelentkezés lehetőséget, és fejezze be a bejelentkezési folyamatot.

    Apache Spark Eclipse Azure Sign.

  6. Miután bejelentkezett, az Előfizetések párbeszédpanel felsorolja a hitelesítő adatokhoz társított Összes Azure-előfizetést. A Párbeszédpanel bezárásához nyomja le a Kijelölés billentyűt.

    Select Subscriptions dialog box.

  7. Az Azure Explorerben lépjen az Azure>HDInsightra , és tekintse meg az előfizetése alatt lévő HDInsight Spark-fürtöket.

    HDInsight Spark clusters in Azure Explorer3.

  8. A fürtnévcsomópont további kibontásával megtekintheti a fürthöz társított erőforrásokat (például tárfiókokat).

    Expanding a cluster name to see resources.

Normál fürtöt az Ambari által felügyelt felhasználónévvel kapcsolhat össze. Hasonlóképpen, a tartományhoz csatlakoztatott HDInsight-fürtök esetében a tartomány és a felhasználónév használatával is összekapcsolható, például user1@contoso.com.

  1. Az Azure Explorerben kattintson a jobb gombbal a HDInsight elemre, és válassza a Fürt csatolása lehetőséget.

    Azure Explorer link cluster menu.

  2. Adja meg a fürt nevét, a felhasználónevet és a jelszót, majd kattintson az OK gombra. Ha szeretné, adja meg a Tárfiók, a Tárkulcs lehetőséget, majd válassza a Storage Container for Storage Explorer lehetőséget a bal oldali fa nézetben való működéshez

    Link New HDInsight cluster dialog.

    Feljegyzés

    A társított tárkulcsot, felhasználónevet és jelszót akkor használjuk, ha a fürt az Azure-előfizetésben és a csatolt fürtben is bejelentkezett. Azure Explorer storage accounts.

    A csak billentyűzettel rendelkező felhasználó esetében, ha az aktuális fókusz a Tárkulcson van, a ctrl+TAB billentyűkombinációval a párbeszédpanel következő mezőjére kell összpontosítania.

  3. A csatolt fürt a HDInsight alatt látható. Most már beküldhet egy alkalmazást ebbe a csatolt fürtbe.

    Azure Explorer hdi linked cluster.

  4. A fürtöt az Azure Explorerből is leválaszthatja.

    Azure Explorer unlinked cluster.

Spark Scala-projekt beállítása HDInsight Spark-fürthöz

  1. Az Eclipse IDE munkaterületen válassza az Új>projekt fájlja>... lehetőséget.

  2. Az Új projekt varázslóban válassza a HDInsight Project>Spark on HDInsight (Scala) lehetőséget. Ezután válassza a Tovább gombra.

    Selecting the Spark on HDInsight (Scala) project.

  3. Az Új HDInsight Scala Project párbeszédpanelen adja meg a következő értékeket, majd válassza a Tovább elemet:

    • Adjon meg a projekt nevét.
    • A JRE területen győződjön meg arról, hogy a JRE végrehajtási környezet használata Java Standard kiadás-1.7 vagy újabb verzióra van állítva.
    • A Spark-kódtár területén a Maven használatával konfigurálhatja a Spark SDK-beállítást. Eszközünk integrálja a Spark SDK és a Scala SDK megfelelő verzióját. A Spark SDK manuális hozzáadása lehetőséget is választhatja, manuálisan töltheti le és veheti fel a Spark SDK-t.

    New HDInsight Scala Project dialog box.

  4. A következő párbeszédpanelen tekintse át a részleteket, majd válassza a Befejezés lehetőséget.

Scala-alkalmazás létrehozása HDInsight Spark-fürthöz

  1. A Csomagkezelőben bontsa ki a korábban létrehozott projektet. Kattintson a jobb gombbal az src elemre, és válassza az Új>egyéb lehetőséget.

  2. A Varázsló kiválasztása párbeszédpanelen válassza a Scala Wizards>Scala Object lehetőséget. Ezután válassza a Tovább gombra.

    Select a wizard Create a Scala Object.

  3. Az Új fájl létrehozása párbeszédpanelen adja meg az objektum nevét, majd válassza a Befejezés lehetőséget. Ekkor megnyílik egy szövegszerkesztő.

    New File Wizard Create New File.

  4. A szövegszerkesztőben cserélje le az aktuális tartalmat az alábbi kódra:

    import org.apache.spark.SparkConf
    import org.apache.spark.SparkContext
    
    object MyClusterApp{
        def main (arg: Array[String]): Unit = {
        val conf = new SparkConf().setAppName("MyClusterApp")
        val sc = new SparkContext(conf)
    
        val rdd = sc.textFile("wasbs:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    
        //find the rows that have only one digit in the seventh column in the CSV
        val rdd1 =  rdd.filter(s => s.split(",")(6).length() == 1)
    
        rdd1.saveAsTextFile("wasbs:///HVACOut")
        }
    }
    
  5. Futtassa az alkalmazást EGY HDInsight Spark-fürtön:

    a. A Csomagkezelőben kattintson a jobb gombbal a projekt nevére, majd válassza a Spark-alkalmazás elküldése a HDInsightba lehetőséget.

    b. A Spark Beküldése párbeszédpanelen adja meg a következő értékeket, majd válassza a Küldés lehetőséget:

    • A fürtnév beállításnál válassza ki azt a HDInsight Spark-fürtöt, amelyen futtatni szeretné az alkalmazást.

    • Válasszon ki egy összetevőt az Eclipse-projektből, vagy válasszon egyet egy merevlemezről. Az alapértelmezett érték attól az elemtől függ, amelyikre a jobb gombbal a Csomagkezelőből kattint.

    • A Főosztálynév legördülő listában a beküldési varázsló megjeleníti a projekt összes objektumnevét. Jelölje ki vagy adja meg a futtatni kívántat. Ha egy merevlemezről jelölt ki egy összetevőt, manuálisan kell megadnia a főosztály nevét.

    • Mivel a példában szereplő alkalmazáskódhoz nincs szükség parancssori argumentumokra vagy hivatkozási KÉRELEM-objektumokra vagy fájlokra, a fennmaradó szövegmezőket üresen hagyhatja.

      Apache Spark Submission dialog box.

  6. A Spark Beküldési lapjának meg kell jelenítenie az előrehaladást. Az alkalmazást a Spark Beküldési ablakában található piros gombra kattintva állíthatja le. Az adott alkalmazás naplóit a földgömb ikon (a képen a kék mező) kiválasztásával is megtekintheti.

    Apache Spark Submission window.

HDInsight Spark-fürtök elérése és kezelése a HDInsight Tools használatával az Azure Toolkit for Eclipse-ben

A HDInsight Tools használatával különböző műveleteket hajthat végre, beleértve a feladat kimenetének elérését is.

A feladatnézet elérése

  1. Az Azure Explorerben bontsa ki a HDInsightot, majd a Spark-fürt nevét, majd válassza a Feladatok lehetőséget.

    Azure Explorer Eclipse job view node.

  2. Válassza ki a Feladatok csomópontot . Ha a Java-verzió 1,8-nál kisebb, a HDInsight Tools automatikusan emlékezteti az E(fx)clipe beépülő modul telepítésére. A folytatáshoz válassza az OK gombot , majd a varázslót követve telepítse az Eclipse Marketplace-ről, és indítsa újra az Eclipse-t.

    Install missing plugin E(fx)clipse.

  3. Nyissa meg a Feladat nézetet a Feladatok csomópontból. A jobb oldali ablaktáblán a Spark-feladatnézet lap megjeleníti a fürtön futtatott összes alkalmazást. Válassza ki annak az alkalmazásnak a nevét, amelynek további részleteket szeretne látni.

    Apache Eclipse view job logs details.

    Ezután az alábbi műveletek bármelyikét végrehajthatja:

    • Mutasson a feladatdiagramra. Alapvető információkat jelenít meg a futó feladatról. Válassza ki a feladatdiagramot, és láthatja azokat a fázisokat és információkat, amelyeket minden feladat létrehoz.

      Apache Spark job graph stage info.

    • A Napló fülre kattintva megtekintheti a gyakran használt naplókat, köztük a Driver Stderrt, az Driver Stdoutot és a címtáradatokat.

      Apache Spark Eclipse job log info.

    • Nyissa meg a Spark előzmények felhasználói felületét és az Apache Hadoop YARN felhasználói felületet (az alkalmazás szintjén) az ablak tetején található hivatkozások kiválasztásával.

A fürt tárolójának elérése

  1. Az Azure Explorerben bontsa ki a HDInsight gyökércsomópontot az elérhető HDInsight Spark-fürtök listájának megtekintéséhez.

  2. Bontsa ki a fürt nevét a tárfiók és a fürt alapértelmezett tárolójának megtekintéséhez.

    Storage account and default storage container.

  3. Válassza ki a fürthöz társított tároló nevét. A jobb oldali panelen kattintson duplán a HVACOut mappára. Nyissa meg az egyik részfájlt az alkalmazás kimenetének megtekintéséhez.

A Spark előzménykiszolgálójának elérése

  1. Az Azure Explorerben kattintson a jobb gombbal a Spark-fürt nevére, majd válassza a Spark-előzmények felhasználói felületének megnyitása lehetőséget. Amikor a rendszer kéri, adja meg a fürt rendszergazdai hitelesítő adatait. Ezeket a fürt kiépítésekor adta meg.

  2. A Spark előzménykiszolgáló irányítópultján az alkalmazás nevével megkeresheti az éppen futó alkalmazást. Az előző kódban az alkalmazás nevét a következővel val conf = new SparkConf().setAppName("MyClusterApp")állíthatja be: . A Spark-alkalmazás neve tehát MyClusterApp volt.

Az Apache Ambari portál indítása

  1. Az Azure Explorerben kattintson a jobb gombbal a Spark-fürt nevére, majd válassza a Fürtkezelési portál (Ambari) megnyitása lehetőséget.

  2. Amikor a rendszer kéri, adja meg a fürt rendszergazdai hitelesítő adatait. Ezeket a fürt kiépítésekor adta meg.

Azure-előfizetések kezelése

Alapértelmezés szerint az Azure Toolkit for Eclipse HDInsight eszköze felsorolja az összes Azure-előfizetéséből származó Spark-fürtöket. Szükség esetén megadhatja azokat az előfizetéseket, amelyekhez hozzá szeretné férni a fürtöt.

  1. Az Azure Explorerben kattintson a jobb gombbal az Azure-gyökércsomópontra , majd válassza az Előfizetések kezelése lehetőséget.

  2. A párbeszédpanelen törölje a jelet a nem elérni kívánt előfizetés jelölőnégyzeteinek jelölése közül, majd válassza a Bezárás lehetőséget. A Kijelentkezés lehetőséget is választhatja, ha ki szeretne jelentkezni az Azure-előfizetéséből.

Spark Scala-alkalmazás helyi futtatása

Az Azure Toolkit for Eclipse HDInsight Tools használatával helyileg futtathatja a Spark Scala-alkalmazásokat a munkaállomáson. Ezek az alkalmazások általában nem igényelnek hozzáférést a fürterőforrásokhoz, például egy tárolóhoz, és helyileg futtathatók és tesztelhetők.

Előfeltétel

Miközben windowsos számítógépen futtatja a helyi Spark Scala alkalmazást, kivételt kaphat a SPARK-2356-ban leírtak szerint. Ez a kivétel azért fordul elő, mert WinUtils.exe hiányzik a Windowsban.

A hiba megoldásához Winutils.exe kell egy olyan helyre, mint a C:\WinUtils\bin, majd adja hozzá a környezeti változót HADOOP_HOME, és állítsa a változó értékét a C\WinUtils értékre.

Helyi Spark Scala-alkalmazás futtatása

  1. Indítsa el az Eclipse-t, és hozzon létre egy projektet. Az Új projekt párbeszédpanelen adja meg az alábbi lehetőségeket, majd válassza a Tovább gombot.

  2. Az Új projekt varázslóban válassza a HDInsight Project>Spark on HDInsight Helyi futtatási minta (Scala) lehetőséget. Ezután válassza a Tovább gombra.

    New project selects a wizard dialog.

  3. A projekt részleteinek megadásához kövesse a hdInsight Spark-fürthöz készült Spark Scala-projekt beállításáról szóló korábbi szakasz 3–6. lépését.

  4. A sablon hozzáad egy mintakódot (LogQuery) az src mappához, amelyet helyileg futtathat a számítógépen.

    Location of LogQuery local scala application.

  5. Kattintson a jobb gombbal a LogQuery.scala elemre, és válassza a Futtató>1 Scala-alkalmazás lehetőséget. A következőhöz hasonló kimenet jelenik meg a Konzol lapon:

    Spark application local run result.

Csak olvasói szerepkör

Amikor a felhasználók csak olvasói szerepkörrel rendelkező fürtbe küldenek feladatot, az Ambari hitelesítő adataira van szükség.

  1. Jelentkezzen be csak olvasói szerepkörrel.

  2. Az Azure Explorerben bontsa ki a HDInsightot az előfizetésében lévő HDInsight-fürtök megtekintéséhez. A "Szerepkör:Olvasó" megjelölt fürtök csak olvasói szerepkör-engedéllyel rendelkeznek.

    HDInsight Spark clusters in Azure Explorer role reader.

  3. Kattintson a jobb gombbal a csak olvasói szerepkörrel rendelkező fürtre. A fürt csatolásához válassza a Fürt csatolása a helyi menüből lehetőséget. Adja meg az Ambari felhasználónevet és jelszót.

    HDInsight Spark clusters in Azure Explorer link.

  4. Ha a fürt csatolása sikeresen megtörtént, a HDInsight frissül. A fürt szakasza összekapcsolva lesz.

    HDInsight Spark clusters in Azure Explorer linked.

  1. Kattintson a Feladatok csomópontra, és megjelenik a Fürtfeladat-hozzáférés megtagadva ablak.

  2. Kattintson a Fürt csatolása elemre a fürt csatolásához.

    HDInsight Spark clusters in Azure Explorer9.

  1. HDInsight-projekt létrehozása.

  2. Kattintson a jobb gombbal a csomagra. Ezután válassza a Spark-alkalmazás elküldése a HDInsightnak lehetőséget.

    HDInsight Spark clusters in Azure Explorer submit.

  3. Jelöljön ki egy fürtöt, amely csak olvasói szerepkörrel rendelkezik a fürtnévhez. Figyelmeztető üzenet jelenik meg. A fürt csatolásához kattintson a Fürt csatolása elemre.

    HDInsight Spark clusters in Azure Explorer link this.

Tárfiókok megtekintése

  • Csak olvasói szerepkörrel rendelkező fürtök esetén kattintson a Tárfiókok csomópontra, és megjelenik a Storage Access Denied (Hozzáférés megtagadva ) ablak.

    HDInsight Spark clusters in Azure Explorer storage.

    HDInsight Spark clusters in Azure Explorer denied.

  • Csatolt fürtök esetén kattintson a Tárfiókok csomópontra, és megjelenik a Storage Access Denied (Hozzáférés megtagadva ) ablak.

    HDInsight Spark clusters in Azure Explorer denied2.

Ismert problémák

A Link A fürt használatakor azt javaslom, hogy adja meg a tárterület hitelesítő adatait.

link cluster with storage credential eclipses.

A feladatokat kétféleképpen küldheti el. Ha a tároló hitelesítő adatai meg van adva, a rendszer kötegelt módot használ a feladat elküldéséhez. Ellenkező esetben az interaktív mód lesz használatban. Ha a fürt foglalt, az alábbi hibaüzenet jelenhet meg.

eclipse get error when cluster busy.

eclipse get error when cluster busy yarn.

Lásd még

Forgatókönyvek

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

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

Erőforrások kezelése