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
Apache Spark-fürt a HDInsighton. További útmutatásért lásd: Apache Spark-fürt létrehozása az Azure HDInsightban.
A Java Developer Kit (JDK) 8-es verziója.
Eclipse IDE. Ez a cikk az Eclipse IDE-t használja Java-fejlesztőknek.
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.
Beépülő modulok megerősítése
Lépjen az Eclipse Marketplace súgójához>....
Válassza a Telepített lapot.
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
Indítsa el az Eclipse IDE-t.
Navigáljon az Ablak>megjelenítési nézete>egyéb...>Bejelentkezés...
A Nézet megjelenítése párbeszédpanelen lépjen az Azure>Azure Explorerbe, és válassza a Megnyitás lehetőséget.
Az Azure Explorerben kattintson a jobb gombbal az Azure-csomópontra, majd válassza a Bejelentkezés lehetőséget.
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.
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.
Az Azure Explorerben lépjen az Azure>HDInsightra , és tekintse meg az előfizetése alatt lévő HDInsight Spark-fürtöket.
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).
Fürt csatolása
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
.
Az Azure Explorerben kattintson a jobb gombbal a HDInsight elemre, és válassza a Fürt csatolása lehetőséget.
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
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.
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.
A csatolt fürt a HDInsight alatt látható. Most már beküldhet egy alkalmazást ebbe a csatolt fürtbe.
A fürtöt az Azure Explorerből is leválaszthatja.
Spark Scala-projekt beállítása HDInsight Spark-fürthöz
Az Eclipse IDE munkaterületen válassza az Új>projekt fájlja>... lehetőséget.
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.
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.
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
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.
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.
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ő.
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") } }
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.
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.
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
Az Azure Explorerben bontsa ki a HDInsightot, majd a Spark-fürt nevét, majd válassza a Feladatok lehetőséget.
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.
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.
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.
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.
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
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.
Bontsa ki a fürt nevét a tárfiók és a fürt alapértelmezett tárolójának megtekintéséhez.
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
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.
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
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.
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.
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.
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
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.
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.
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.
A sablon hozzáad egy mintakódot (LogQuery) az src mappához, amelyet helyileg futtathat a számítógépen.
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:
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.
Fürt csatolása a helyi menüből
Jelentkezzen be csak olvasói szerepkörrel.
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.
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.
Ha a fürt csatolása sikeresen megtörtént, a HDInsight frissül. A fürt szakasza összekapcsolva lesz.
Fürt összekapcsolása a Feladatok csomópont kibontásával
Kattintson a Feladatok csomópontra, és megjelenik a Fürtfeladat-hozzáférés megtagadva ablak.
Kattintson a Fürt csatolása elemre a fürt csatolásához.
Fürt csatolása a Spark-beküldési ablakból
HDInsight-projekt létrehozása.
Kattintson a jobb gombbal a csomagra. Ezután válassza a Spark-alkalmazás elküldése a HDInsightnak lehetőséget.
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.
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.
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.
Ismert problémák
A Link A fürt használatakor azt javaslom, hogy adja meg a tárterület hitelesítő adatait.
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.
Lásd még
Forgatókönyvek
- Apache Spark bi-val: Interaktív adatelemzés végrehajtása a Spark in HDInsight használatával BI-eszközökkel
- Apache Spark gépi Tanulás: A Spark használata a HDInsightban az épülethőmérséklet HVAC-adatokkal történő elemzéséhez
- Apache Spark gépi Tanulás: A Spark használata a HDInsightban az élelmiszer-ellenőrzési eredmények előrejelzéséhez
- Webhelynapló-elemzés az Apache Spark használatával a HDInsightban
Alkalmazások létrehozása és futtatása
- Önálló alkalmazás létrehozása a Scala használatával
- Feladatok távoli futtatása Apache Spark-fürtön az Apache Livy használatával
Eszközök és bővítmények
- Spark Scala-alkalmazások létrehozása és elküldése az Azure Toolkit for IntelliJ használatával
- Apache Spark-alkalmazások távoli hibakeresése VPN-en keresztül az Azure Toolkit for IntelliJ használatával
- Az Azure Toolkit for IntelliJ használatával távolról, SSH-val hibakeresést végezhet az Apache Spark-alkalmazásokban
- Apache Zeppelin-jegyzetfüzetek használata Apache Spark-fürttel a HDInsighton
- A HDInsighthoz készült Apache Spark-fürtben elérhető Jupyter Notebook-kernelek
- Külső csomagok használata Jupyter Notebookokkal
- A Jupyter telepítése a számítógépre, majd csatlakozás egy HDInsight Spark-fürthöz