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


Az Apache Hadoop YARN hibaelhárítása az Azure HDInsighttal

Megismerheti az Apache Hadoop YARN hasznos adatainak Apache Ambariban való használatakor felmerülő leggyakoribb problémákat és azok megoldásait.

Hogyan új YARN-üzenetsort létrehozni egy fürtön?

Megoldási lépések

Az Ambariban az alábbi lépésekkel hozzon létre egy új YARN-üzenetsort, majd egyensúlyozza a kapacitásfoglalást az összes üzenetsor között.

Ebben a példában két meglévő üzenetsor (alapértelmezett és thriftsvr) 50%-os kapacitásról 25%-os kapacitásra változik, ami 50%-os kapacitást ad az új üzenetsornak (spark).

Feldolgozási sor Kapacitás Maximális kapacitás
alapértelmezett 25% 50%
thrftsvr 25% 50%
spark 50% 50%
  1. Válassza az Ambari Nézetek ikont, majd a rácsmintát. Ezután válassza a YARN Queue Manager lehetőséget.

    Apache Ambari irányítópult YARN Queue Manager.

  2. Válassza ki az alapértelmezett üzenetsort.

    Az Apache Ambari YARN válassza ki az alapértelmezett üzenetsort.

  3. Az alapértelmezett üzenetsor esetében módosítsa a kapacitást 50%-ról 25%-ra. A thriftsvr-üzenetsor esetében módosítsa a kapacitást 25%-ra.

    Módosítsa a kapacitást 25%-ra az alapértelmezett és a thriftsvr-üzenetsorok esetében.

  4. Új üzenetsor létrehozásához válassza az Üzenetsor hozzáadása lehetőséget.

    Apache Ambari YARN-irányítópult – Üzenetsor hozzáadása.

  5. Nevezze el az új üzenetsort.

    Apache Ambari YARN-irányítópult neve üzenetsor.

  6. Hagyja meg a kapacitásértékeket 50%-nál, majd válassza a Műveletek gombot.

    Apache Ambari YARN kiválasztási művelet.

  7. Válassza az Üzenetsorok mentése és frissítése lehetőséget.

    Válassza az Üzenetsorok mentése és frissítése lehetőséget.

Ezek a módosítások azonnal láthatók a YARN Scheduler felhasználói felületén.

További olvasnivalók

Hogyan yarn-naplókat letölteni egy fürtből?

Megoldási lépések

  1. Csatlakozzon a HDInsight-fürthöz egy Secure Shell-ügyfél (SSH) használatával. További információ: További információ.

  2. A jelenleg futó YARN-alkalmazások összes alkalmazásazonosítójának listázásához futtassa a következő parancsot:

    yarn top
    

    Az azonosítók az APPLICATIONID oszlopban jelennek meg. A naplókat az APPLICATIONID oszlopból töltheti le.

    YARN top - 18:00:07, up 19d, 0:14, 0 active users, queue(s): root
    NodeManager(s): 4 total, 4 active, 0 unhealthy, 0 decommissioned, 0 lost, 0 rebooted
    Queue(s) Applications: 2 running, 10 submitted, 0 pending, 8 completed, 0 killed, 0 failed
    Queue(s) Mem(GB): 97 available, 3 allocated, 0 pending, 0 reserved
    Queue(s) VCores: 58 available, 2 allocated, 0 pending, 0 reserved
    Queue(s) Containers: 2 allocated, 0 pending, 0 reserved
    
                      APPLICATIONID USER             TYPE      QUEUE   #CONT  #RCONT  VCORES RVCORES     MEM    RMEM  VCORESECS    MEMSECS %PROGR       TIME NAME
     application_1490377567345_0007 hive            spark  thriftsvr       1       0       1       0      1G      0G    1628407    2442611  10.00   18:20:20 Thrift JDBC/ODBC Server
     application_1490377567345_0006 hive            spark  thriftsvr       1       0       1       0      1G      0G    1628430    2442645  10.00   18:20:20 Thrift JDBC/ODBC Server
    
  3. A YARN-tárolónaplók minden alkalmazás-főkiszolgálóhoz való letöltéséhez használja a következő parancsot:

    yarn logs -applicationIdn logs -applicationId <application_id> -am ALL > amlogs.txt
    

    Ez a parancs létrehoz egy amlogs.txt nevű naplófájlt.

  4. A YARN-tárolónaplók csak a legújabb alkalmazás-főkiszolgálóhoz való letöltéséhez használja a következő parancsot:

    yarn logs -applicationIdn logs -applicationId <application_id> -am -1 > latestamlogs.txt
    

    Ez a parancs létrehoz egy latestamlogs.txt nevű naplófájlt.

  5. Az első két alkalmazásminta YARN-tárolónaplóinak letöltéséhez használja a következő parancsot:

    yarn logs -applicationIdn logs -applicationId <application_id> -am 1,2 > first2amlogs.txt
    

    Ez a parancs létrehoz egy first2amlogs.txt nevű naplófájlt.

  6. Az összes YARN-tárolónapló letöltéséhez használja a következő parancsot:

    yarn logs -applicationIdn logs -applicationId <application_id> > logs.txt
    

    Ez a parancs létrehoz egy logs.txt nevű naplófájlt.

  7. Egy adott tároló YARN-tárolónaplójának letöltéséhez használja a következő parancsot:

    yarn logs -applicationIdn logs -applicationId <application_id> -containerId <container_id> > containerlogs.txt
    

    Ez a parancs létrehoz egy containerlogs.txt nevű naplófájlt.

További információ

Hogyan ellenőrizni a Yarn alkalmazás diagnosztikai adatait?

A Yarn felhasználói felületén a diagnosztikával megtekintheti a Yarn-on futó alkalmazások állapotát és naplóit. A diagnosztika segíthet az alkalmazások hibaelhárításában és hibakeresésében, valamint azok teljesítményének és erőforrás-használatának monitorozásában.

Egy adott alkalmazás diagnosztikájának megtekintéséhez kattintson az alkalmazásazonosítóra az alkalmazáslistában. Az alkalmazás részletei lapon láthatja az alkalmazás futtatására tett kísérletek listáját is. Bármely kísérletre kattintva további részleteket jeleníthet meg, például a kísérlet azonosítóját, a tárolóazonosítót, a csomópont azonosítóját, a kezdési időpontot, a befejezési időt és a diagnosztikát

Képernyőkép a Yarn Application Diagnostics szolgáltatásról.

Hogyan a YARN gyakori hibáinak elhárítása?

A Yarn felhasználói felülete nem töltődik be

Ha a YARN felhasználói felülete nem töltődik be vagy nem érhető el, és "HTTP-hiba 502.3 – Rossz átjáró" értéket ad vissza, az erősen jelzi, hogy a Resource Manager-szolgáltatás nem megfelelő. A probléma elhárításához kövesse ezeket a lépéseket:

  1. Nyissa meg az Ambari felhasználói felületi>YARN>ÖSSZEGZÉSét, és ellenőrizze, hogy csak az aktív Resource Manager van-e Elindítva állapotban. Ha nem, próbálja meg enyhíteni a nem megfelelő állapotú vagy leállított Resource Manager újraindításával.
  2. Ha az 1. lépés nem oldja meg a problémát, az SSH az aktív Resource Manager-főcsomópontot használja, és ellenőrizze a szemétgyűjtés állapotát jstat -gcutil <Resource Manager pid> 1000 100. Ha az FGCT néhány másodperc alatt jelentősen megnő, az azt jelzi, hogy a Resource Manager foglalt a teljes GC-ben, és nem tudja feldolgozni a többi kérést.
  3. Lépjen az Ambari felhasználói felület>YARN>KONFIGURÁCIÓK>Speciális területre, és növelje a Resource Manager java heap size értékét.
  4. Indítsa újra a szükséges szolgáltatásokat az Ambari felületén.

Mindkét erőforrás-kezelő készenléti üzemmódban van

  1. Ellenőrizze a Resource Manager naplójában, hogy létezik-e hasonló hiba.
Service RMActiveServices failed in state STARTED; cause: org.apache.hadoop.service.ServiceStateException: com.google.protobuf.InvalidProtocolBufferException: Could not obtain block: BP-452067264-10.0.0.16-1608006815288:blk_1074235266_494491 file=/yarn/node-labels/nodelabel.mirror
  1. Ha van ilyen hiba, ellenőrizze, hogy egyes fájlok replikáció alatt állnak-e, vagy hiányoznak-e blokkok a HDFS-ben. Futtathatja a hdfs fsck hdfs://mycluster/ parancsot

  2. Futtassa hdfs fsck hdfs://mycluster/ -delete túl erőteljesen a HDFS-t, és távolítsa el a készenléti RM-problémát. Másik lehetőségként futtassa a PatchYarnNodeLabel parancsot az egyik átjárócsomóponton a fürt javításához.

Következő lépések

Ha nem látja a problémát, vagy nem tudja megoldani a problémát, további támogatásért látogasson el az alábbi csatornák egyikére:

  • Azure-szakértőktől kaphat választ az Azure közösségi támogatásán keresztül.

  • Csatlakozzon a @AzureSupport - a hivatalos Microsoft Azure-fiókhoz az ügyfélélmény javításához. Az Azure-közösség csatlakoztatása a megfelelő erőforrásokhoz: válaszok, támogatás és szakértők.

  • Ha további segítségre van szüksége, támogatási kérelmet küldhet az Azure Portalról. Válassza a Támogatás lehetőséget a menüsávon, vagy nyissa meg a Súgó + támogatási központot. Részletesebb információkért tekintse át a Azure-támogatás kérések létrehozását ismertető cikket. Az előfizetés-kezeléssel és számlázással kapcsolatos támogatás a Microsoft Azure-előfizetés részét képezi, míg a technikai támogatást Azure-támogatási csomagjainkkal biztosítjuk.