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


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 az OPEN-régiókat online állapotba hozza. Ebben az esetben, ha ez a könyvtár nem volt jelen, nem indult el

Resolution (Osztá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, további információ a hbck2 névtér és metatábla hozzárendeléséről

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 alapoktól (.tmp) mappából az adatmappába. A HMaster az előreírási naplók (WAL) mappát is megvizsgálja, hogy vannak-e nem válaszoló régiókiszolgálók.

A HMaster egy egyszerű 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 okoz, és nem indul el.

Resolution (Osztá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 az Azure Storage Explorerben vagy a HDFS-parancsok használatával próbálja meg megkeresni a problémás fájlt. Ezt a fájlt általában a rendszer meghívja *-renamePending.json. (A *-renamePending.json fájl egy naplófájl, amely az atomi átnevezési művelet megvalósítására szolgál a WASB-illesztőben. Az implementáció hibái miatt ezeket a fájlokat a folyamat összeomlása után is át lehet hagyni, és így tovább.) Törölje a fájlt a Cloud Explorerben vagy HDFS-parancsokkal.

Néha előfordulhat, hogy egy ilyen nevű $$$.$$$ ideiglenes fájl is található ezen a helyen. A fájl megtekintéséhez HDFS-parancsot ls kell használnia; a fájl nem látható az Azure Storage Explorerben. 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 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.

Resolution (Osztá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 lehet ugyanaz a hiba, 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éről a HBase futási állapotba helyezé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ú időt is igénybe vehetnek. A HMaster leáll, ha a névtértábla még nincs hozzárendelve. A hosszadalmas indítási feladatok olyan esetekben fordulnak elő, amikor nagy mennyiségű nem befolyt adat létezik, és az öt perces időtúllépés nem elegendő.

Resolution (Osztás)

  1. Az Apache Ambari felhasználói felületén lépjen a HBase>Configs webhelyre. 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 rendszeresen ú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-ik időtúllépésén belül. HMaster úgy véli regionserver , hogy meghalt, megszakítja és regionserver újraindul.

A enyhítés érdekében módosítani kell a Zookeeper-munkamenet időtúllépését, és nem csak hbase-site a beállítást zookeeper.session.timeout , hanem a Zookeeper-beállítást zoo.cfg 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 lapra, é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, válassza a Zookeeper –> Konfigurációk –> Egyéni zoo.cfglehetőséget, adja hozzá/módosítsa a következő 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

Kövesse az RS-nkénti régiók számát – a felső határt a felső határ kiszámításához. 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ófelosztási hiba

Probléma

A HMasters nem tudott előjönni egy HBase-fürtön.

Ok

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

Resolution (Osztá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á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.