Az Apache HBase Master (HMaster) nem indul el az Azure HDInsightban

Ez a cikk az Azure HDInsight-fürtök használatakor felmerülő problémák hibaelhárítási lépéseit és lehetséges megoldásait ismerteti.

Forgatókönyv: Master startup cannot progress, in holding-pattern until region comes online

Probléma

A HMaster a következő figyelmeztetés miatt nem indul el:

hbase:namespace,,<timestamp_region_create>.<encoded_region_name>.is NOT online; state={<encoded_region_name> state=OPEN, ts=<some_timestamp>, server=<server_name>}; ServerCrashProcedures=true. Master startup cannot progress, in holding-pattern until region onlined. 

A paraméterértékek például eltérhetnek a tényleges üzenetben:

hbase:namespace,,1546588612000.0000010bc582e331e3080d5913a97000. is NOT online; state={0000010bc582e331e3080d5913a97000 state=OPEN, ts=1633935993000, server=<wn fqdn>,16000,1622012792000}; ServerCrashProcedures=false. Master startup cannot progress, in holding-pattern until region onlined.

Ok

A HMaster ellenőrzi a wal könyvtárat a régiókiszolgálókon, mielőtt újra online állapotba hozja az OPEN-régiókat. Ebben az esetben, ha ez a könyvtár nem volt jelen, nem indult el

Feloldás

  1. Hozza létre ezt a dummy könyvtárat a következő paranccsal: sudo -u hbase hdfs dfs -mkdir /hbase-wals/WALs/<wn fqdn>,16000,1622012792000

  2. Indítsa újra a HMaster szolgáltatást az Ambari felhasználói felületén.

Ha hbase-2.x-et használ, tekintse meg a hbck2 névtér és metatábla hozzárendelésével kapcsolatos további információkat.

Forgatókönyv: Atomi átnevezési hiba

Probléma

Az indítási folyamat során azonosított váratlan fájlok.

Ok

Az indítási folyamat során a HMaster számos inicializálási lépést hajt végre, beleértve az adatok áthelyezését az alapok (.tmp) mappából az adatmappába. A HMaster az előre írt naplók (WAL) mappáját is megvizsgálja, hogy vannak-e nem válaszoló régiókiszolgálók.

A HMaster egy alapszintű listaparancsot hajt végre a WAL-mappákon. Ha a HMaster bármikor váratlan fájlt lát ezen mappák bármelyikében, kivételt jelez, és nem indul el.

Feloldás

Ellenőrizze a hívási vermet, és próbálja meg meghatározni, hogy melyik mappa okozhatja a problémát (például a WAL mappa vagy a .tmp mappa). Ezután Azure Storage Explorer vagy HDFS-parancsok használatával próbálja meg megkeresni a problémás fájlt. Ezt a fájlt általában a nevű fájlnak nevezzük *-renamePending.json. (A *-renamePending.json fájl egy naplófájl, amely az atomi átnevezési művelet végrehajtására szolgál a WASB-illesztőben. A megvalósítás során fellépő hibák miatt ezek a fájlok a folyamat összeomlása után is megmaradhatnak, és így tovább.) Kényszerítse a fájl törlését a Cloud Explorerben vagy HDFS-parancsokkal.

Néha előfordulhat, hogy egy ideiglenes fájl neve is $$$.$$$ hasonló ezen a helyen. A fájl megtekintéséhez HDFS-parancsot ls kell használnia; a fájl nem látható a Azure Storage Explorer. A fájl törléséhez használja a HDFS parancsot hdfs dfs -rm /\<path>\/\$\$\$.\$\$\$.

A parancsok futtatása után a HMasternek azonnal el kell indulnia.


Forgatókönyv: Nincs kiszolgálócím a listában

Probléma

Előfordulhat, hogy megjelenik egy üzenet, amely azt jelzi, hogy a hbase: meta tábla nincs online állapotban. A futtatás hbck azt jelentheti, hogy hbase: meta table replicaId 0 is not found on any region. a HMaster-naplókban a következő üzenet jelenhet meg: No server address listed in hbase: meta for region hbase: backup <region name>.

Ok

A HMaster nem tudott inicializálni a HBase újraindítása után.

Feloldás

  1. A HBase-rendszerhéjban adja meg a következő parancsokat (szükség szerint módosítsa a tényleges értékeket):

    scan 'hbase:meta'
    delete 'hbase:meta','hbase:backup <region name>','<column name>'
    
  2. Törölje a bejegyzést hbase: namespace . Ez a bejegyzés ugyanaz a hiba lehet, amelyet a hbase: namespace tábla vizsgálatakor jelent a rendszer.

  3. Indítsa újra az aktív HMastert az Ambari felhasználói felületén a HBase futási állapotban való megjelenítéséhez.

  4. A HBase-rendszerhéjban az összes offline tábla megjelenítéséhez futtassa a következő parancsot:

    hbase hbck -ignorePreCheckPermission -fixAssignments
    

Forgatókönyv: java.io.IOException: Timedout

Probléma

A HMaster a következőhöz hasonló végzetes kivétellel időtúllépést eredményez: java.io.IOException: Timedout 300000ms waiting for namespace table to be assigned.

Ok

Ezt a problémát akkor tapasztalhatja, ha sok olyan táblája és régiója van, amelyek nem lettek kiürítve a HMaster-szolgáltatások újraindításakor. Az időtúllépés a HMaster ismert hibája. Az általános fürtindítási feladatok hosszú ideig is eltarthatnak. A HMaster leáll, ha a névtértábla még nincs hozzárendelve. A hosszadalmas indítási feladatok akkor fordulnak elő, ha nagy mennyiségű nem tárolt adat létezik, és az öt perces időtúllépés nem elegendő.

Feloldás

  1. Az Apache Ambari felhasználói felületén lépjen aHBase-konfigurációk> elemre. Az egyéni hbase-site.xml fájlban adja hozzá a következő beállítást:

    Key: hbase.master.namespace.init.timeout Value: 2400000  
    
  2. Indítsa újra a szükséges szolgáltatásokat (HMaster és esetleg más HBase-szolgáltatások).


Forgatókönyv: Gyakori régiókiszolgáló-újraindítások

Probléma

A csomópontok rendszeres időközönként újraindulnak. A régiókiszolgáló naplóiban a következőhöz hasonló bejegyzések jelenhetnek meg:

2017-05-09 17:45:07,683 WARN  [JvmPauseMonitor] util.JvmPauseMonitor: Detected pause in JVM or host machine (eg GC): pause of approximately 31000ms
2017-05-09 17:45:07,683 WARN  [JvmPauseMonitor] util.JvmPauseMonitor: Detected pause in JVM or host machine (eg GC): pause of approximately 31000ms
2017-05-09 17:45:07,683 WARN  [JvmPauseMonitor] util.JvmPauseMonitor: Detected pause in JVM or host machine (eg GC): pause of approximately 31000ms

Ok: zookeeper-munkamenet időtúllépése

Hosszú regionserver JVM GC-szüneteltetés. A szüneteltetés nem regionserver válaszol, és nem képes szívverést küldeni a HMasternek a zookeeper munkamenet 40-s időtúllépésén belül. HMaster úgy véli regionserver , halott, megszakítja a regionserver és újraindul.

A probléma elhárításához módosítsa a Zookeeper-munkamenet időtúllépését, nemcsak hbase-site a beállítást zookeeper.session.timeout , hanem a Zookeeper zoo.cfg beállítást maxSessionTimeout is módosítani kell.

  1. Nyissa meg az Ambari felhasználói felületét, lépjen a HBase –> Konfigurációk –> Beállítások területre, és az Időtúllépések szakaszban módosítsa a Zookeeper-munkamenet időtúllépésének értékét.

  2. Nyissa meg az Ambari felhasználói felületét, lépjen a Zookeeper – Konfigurációk –>> Egyénizoo.cfg lapra, adja hozzá/módosítsa az alábbi beállítást. Győződjön meg arról, hogy az érték megegyezik a HBase zookeeper.session.timeoutértékével.

    Key: maxSessionTimeout Value: 120000  
    
  3. Indítsa újra a szükséges szolgáltatásokat.

Ok: túlterhelt RegionServer

A felső kötöttség kiszámításához kövesse a Régiók száma RS-enként – felső kötött elemet . Például: 8000 (Region server Heap -- Xmx in MB) * 0.4 (hbase.regionserver.global.memstore.size) /64 (hbase.regionserver.hlog.blocksize/2) = 50

A probléma elhárításához skálázza fel a HBase-fürtöt.


Forgatókönyv: Naplóbontási hiba

Probléma

A HMasters nem jött létre egy HBase-fürtön.

Ok

Helytelenül konfigurált HDFS- és HBase-beállítások egy másodlagos tárfiókhoz.

Feloldás

set hbase.rootdir: wasb://@.blob.core.windows.net/hbase és indítsa újra a szolgáltatásokat az Ambariban.


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álaszokat az Azure Közösségi támogatáson 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, küldjön támogatási kérést a Azure Portal. A menüsávon válassza a Támogatás lehetőséget, vagy nyissa meg a Súgó + támogatási központot. További információ: Azure-támogatás kérés létrehozása. Az előfizetés-kezeléshez és a számlázási támogatáshoz való hozzáférés a Microsoft Azure-előfizetés részét képezi, a technikai támogatás pedig az Egyik Azure-támogatási csomagon keresztül érhető el.