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)
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
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)
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>'
Törölje a bejegyzést
hbase: namespace
. Ez a bejegyzés lehet ugyanaz a hiba, amelyet ahbase: namespace
tábla vizsgálatakor jelent a rendszer.Indítsa újra az aktív HMastert az Ambari felhasználói felületéről a HBase futási állapotba helyezéséhez.
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)
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
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.
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.
Nyissa meg az Ambari felhasználói felületét, válassza a Zookeeper –> Konfigurációk –> Egyéni
zoo.cfg
lehető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 HBasezookeeper.session.timeout
értékével.Key: maxSessionTimeout Value: 120000
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.