Megosztás a következőn keresztül:


A HDInsight-alapú Apache Spark-fürt ismert problémái

Ez a dokumentum nyomon követi a HDInsight Spark nyilvános előzetes verziójának összes ismert problémáját.

Az Apache Livy kiszivárgott interaktív munkamenete

Amikor az Apache Livy újraindul ( az Apache Ambariból vagy a 0-s átjárócsomópont virtuális gép újraindítása miatt) egy interaktív munkamenettel, amely még mindig él, kiszivárog egy interaktív feladat munkamenete. Ennek eredményeképpen az új feladatok Elfogadva állapotban ragadhatnak.

Kezelés:

A probléma megoldásához kövesse az alábbi eljárást:

  1. Ssh-val az átjárócsomópontba. További információk: Az SSH használata HDInsighttal.

  2. Futtassa a következő parancsot a Livyn keresztül indított interaktív feladatok alkalmazásazonosítóinak megkereséséhez.

    yarn application –list
    

    Az alapértelmezett feladatnevek a Livy lesznek, ha a feladatokat egy Interaktív Livy-munkamenettel indították, és nincsenek megadva explicit nevek. A Jupyter Notebook által indított Livy-munkamenet esetében a feladat neve a következővel remotesparkmagics_*kezdődik: .

  3. Futtassa a következő parancsot a feladatok futtatásához.

    yarn application –kill <Application ID>
    

Új feladatok futnak.

A Spark-előzménykiszolgáló nem indult el

A Spark-előzménykiszolgáló nem indul el automatikusan a fürt létrehozása után.

Kezelés:

Indítsa el manuálisan az előzménykiszolgálót az Ambariból.

Jogosultsági probléma a Spark naplókönyvtárában

A hdiuser a következő hibaüzenetet kapja egy feladat spark-submit használatával történő elküldésekor:

java.io.FileNotFoundException: /var/log/spark/sparkdriver_hdiuser.log (Permission denied)

És nincs illesztőprogram-napló megírva.

Kezelés:

  1. Adja hozzá a hdiusert a Hadoop-csoporthoz.
  2. Adjon meg 777 engedélyt a /var/log/spark számára a fürt létrehozása után.
  3. Frissítse a Spark-napló helyét az Ambari használatával, hogy 777 engedélyekkel rendelkező könyvtár legyen.
  4. Futtassa a spark-submit parancsot sudo néven.

Spark-Phoenix összekötő nem támogatott

A HDInsight Spark-fürtök nem támogatják a Spark-Phoenix-összekötőt.

Kezelés:

Ehelyett az Spark-HBase-összekötőt kell használnia. Az utasításokért lásd: Spark-HBase-összekötő használata.

Az alábbiakban a Jupyter Notebookokkal kapcsolatos ismert problémákat ismertetjük.

Nem ASCII-karaktereket tartalmazó jegyzetfüzetek fájlnevekben

Ne használjon nem ASCII-karaktereket Jupyter Notebook fájlnevekben. Ha a Jupyter felhasználói felületén keresztül próbál feltölteni egy fájlt, amely nem ASCII-fájlnévvel rendelkezik, hibaüzenet nélkül meghiúsul. A Jupyter nem engedélyezi a fájl feltöltését, de látható hibát sem jelez.

Hiba a nagyobb méretű jegyzetfüzetek betöltésekor

A nagyobb méretű jegyzetfüzetek betöltésekor hibaüzenet Error loading notebook jelenhet meg.

Kezelés:

Ha ezt a hibát kapja, az nem jelenti azt, hogy az adatok sérültek vagy elvesznek. A jegyzetfüzetei továbbra is lemezen vannak a rendszerben /var/lib/jupyter, és az SSH-val elérheti őket a fürtben. További információk: Az SSH használata HDInsighttal.

Miután SSH-val csatlakozott a fürthöz, biztonsági másolatként átmásolhatja a jegyzetfüzeteket a fürtből a helyi gépre (SCP vagy WinSCP használatával), hogy megakadályozza a jegyzetfüzetben lévő fontos adatok elvesztését. Ezután SSH-alagúttal csatlakozhat az átjárócsomóponthoz a 8001-s porton, hogy az átjárón keresztül elérhesse a Jupytert. Innen törölheti a jegyzetfüzet kimenetét, és újra mentheti a jegyzetfüzet méretének minimalizálása érdekében.

Ha meg szeretné akadályozni, hogy ez a hiba a jövőben bekövetkezjön, kövesse az ajánlott eljárásokat:

  • Fontos, hogy a jegyzetfüzet mérete ne legyen kisebb. A Spark-feladatok Jupyterbe visszaküldött kimenetei megmaradnak a jegyzetfüzetben. A Jupyterrel általában ajánlott elkerülni a nagy RDD-k vagy adatkeretek futtatását .collect() ; ehelyett, ha egy RDD tartalmát szeretné betekinteni, fontolja meg a futtatást .take() , vagy .sample() hogy a kimenet ne legyen túl nagy.
  • Emellett a jegyzetfüzet mentésekor törölje az összes kimeneti cellát a méret csökkentése érdekében.

A jegyzetfüzet kezdeti indítása a vártnál tovább tart

A Spark magic használatával Jupyter Notebook első kódutasítása több mint egy percet vehet igénybe.

Magyarázat:

Ez azért történik, mert az első kódcella futtatásakor. A háttérben ez munkamenet-konfigurációt kezdeményez, és a Spark-, SQL- és Hive-környezetek be vannak állítva. A környezetek beállítása után az első utasítás fut, és ez azt a benyomást kelti, hogy az utasítás végrehajtása hosszú időt vett igénybe.

Jupyter Notebook időtúllépés a munkamenet létrehozásakor

Ha a Spark-fürt erőforrásai elfogynak, a Jupyter Notebook Spark- és PySpark-kernelei időtúllépés miatt megpróbálják létrehozni a munkamenetet.

Enyhítése:

  1. Szabadítson fel néhány erőforrást a Spark-fürtben a következő módon:

    • A többi Spark-jegyzetfüzet leállításához nyissa meg a Bezárás és leállítás menüt, vagy kattintson a Leállítás gombra a jegyzetfüzet-kezelőben.
    • Más Spark-alkalmazások leállítása a YARN-ból.
  2. Indítsa újra az elindítani kívánt jegyzetfüzetet. Elegendő erőforrásnak kell rendelkezésre állnia ahhoz, hogy most hozzon létre egy munkamenetet.

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