Sdílet prostřednictvím


Známé problémy s clusterem Apache Spark ve službě HDInsight

Tento dokument sleduje všechny známé problémy s verzí HDInsight Spark Public Preview.

Apache Livy nevrací interaktivní relaci

Když se Apache Livy restartuje (z Apache Ambari nebo kvůli restartování virtuálního počítače hlavního uzlu 0) s interaktivní relací, která je stále aktivní, dojde k úniku relace interaktivní úlohy. V důsledku toho můžou být nové úlohy zablokované ve stavu Přijato.

Snížení rizika:

K vyřešení problému použijte následující postup:

  1. SSH do hlavního uzlu. Další informace najdete v tématu Použití SSH se službou HDInsight.

  2. Spuštěním následujícího příkazu vyhledejte ID aplikací interaktivních úloh spuštěných prostřednictvím Livy.

    yarn application –list
    

    Výchozí názvy úloh budou Livy, pokud byly úlohy spuštěny s interaktivní relací Livy bez zadaných explicitních názvů. Pro relaci Livy spuštěnou Jupyter Notebook začíná název úlohy na remotesparkmagics_*.

  3. Spuštěním následujícího příkazu tyto úlohy ukončete.

    yarn application –kill <Application ID>
    

Spustí se nové úlohy.

Server historie Sparku není spuštěný

Server historie Sparku se po vytvoření clusteru nespustit automaticky.

Snížení rizika:

Ručně spusťte server historie z Ambari.

Problém s oprávněními v adresáři protokolů Sparku

Při odesílání úlohy pomocí spark-submit se uživateli hdiuser zobrazí následující chyba:

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

A není zapsaný žádný protokol ovladače.

Snížení rizika:

  1. Přidejte hdiuser do skupiny Hadoop.
  2. Po vytvoření clusteru zadejte oprávnění 777 pro /var/log/spark.
  3. Aktualizujte umístění protokolu Sparku pomocí Ambari na adresář s oprávněními 777.
  4. Spusťte spark-submit jako sudo.

Spark-Phoenix konektor se nepodporuje.

Clustery HDInsight Spark nepodporují konektor Spark-Phoenix.

Snížení rizika:

Místo toho musíte použít konektor Spark-HBase. Pokyny najdete v tématu Použití konektoru Spark-HBase.

Následuje několik známých problémů souvisejících s poznámkovými bloky Jupyter.

Poznámkové bloky s jinými znaky než ASCII v náznacích souborů

Nepoužívejte jiné znaky než ASCII v Jupyter Notebook názvy souborů. Pokud se pokusíte nahrát soubor prostřednictvím uživatelského rozhraní Jupyter, které má jiný než název souboru ASCII, selže bez jakékoli chybové zprávy. Jupyter neumožňuje nahrát soubor, ale nevyvolá ani viditelnou chybu.

Chyba při načítání poznámkových bloků větších velikostí

Při načítání poznámkových bloků, které jsou větší, se může zobrazit chyba Error loading notebook .

Snížení rizika:

Pokud se zobrazí tato chyba, neznamená to, že jsou data poškozená nebo ztracená. Vaše poznámkové bloky jsou stále na disku v /var/lib/jupytersystému a pro přístup k nim můžete použít připojení SSH do clusteru. Další informace najdete v tématu Použití SSH se službou HDInsight.

Po připojení ke clusteru pomocí SSH můžete poznámkové bloky z clusteru zkopírovat do místního počítače (pomocí SCP nebo WinSCP) jako zálohu, abyste zabránili ztrátě důležitých dat v poznámkovém bloku. Pak můžete tunelem SSH do hlavního uzlu na portu 8001 získat přístup k Jupyteru bez průchodu bránou. Odtud můžete vymazat výstup poznámkového bloku a znovu ho uložit, abyste minimalizovali velikost poznámkového bloku.

Pokud chcete zabránit tomu, aby k této chybě v budoucnu docházelo, musíte postupovat podle některých osvědčených postupů:

  • Je důležité zachovat malou velikost poznámkového bloku. Všechny výstupy z úloh Sparku, které se odešlou zpět do Jupyteru, se v poznámkovém bloku zachovají. Obecně je osvědčeným postupem u Jupyteru vyhnout se spouštění .collect() na velkých sadách RDD nebo datových rámcích. Pokud chcete nahlédnout do obsahu SADY RDD, zvažte spuštění .take() nebo .sample() tak, aby se výstup příliš nezveřejňoval.
  • Při ukládání poznámkového bloku také zrušte zaškrtnutí všech výstupních buněk, abyste zmenšili jeho velikost.

Počáteční spuštění poznámkového bloku trvá déle, než se čekalo

První příkaz kódu v Jupyter Notebook použití magie Sparku může trvat déle než minutu.

Vysvětlení:

K tomu dochází, protože při spuštění první buňky kódu. Na pozadí se tím zahájí konfigurace relace a nastaví se kontexty Sparku, SQL a Hivu. Po nastavení těchto kontextů se spustí první příkaz, který vytvoří dojem, že dokončení příkazu trvalo dlouhou dobu.

Jupyter Notebook vypršení časového limitu při vytváření relace

Když je cluster Sparku mimo prostředky, jádra Sparku a PySpark v Jupyter Notebook při pokusu o vytvoření relace vyprší časový limit.

Zmírnění rizik:

  1. Uvolněte některé prostředky v clusteru Spark:

    • Zastavte ostatní poznámkové bloky Sparku tak, že přejdete do nabídky Zavřít a zastavit nebo v Průzkumníku poznámkových bloků kliknete na Vypnout.
    • Zastavení dalších aplikací Spark z YARN
  2. Restartujte poznámkový blok, který jste se pokusili spustit. K vytvoření relace by měl být k dispozici dostatek prostředků.

Viz také

Scénáře

Vytvoření a spouštění aplikací

Nástroje a rozšíření

Správa prostředků