Apache HBase-fürt migrálása új verzióba
Ez a cikk azt ismerteti, hogyan frissítheti az Apache HBase-fürtöt az Azure HDInsightban egy újabb verzióra.
Ez a cikk csak akkor érvényes, ha ugyanazt az Azure Storage-fiókot használja a forrás- és célfürtökhöz. Ha a célfürthöz egy új vagy eltérő Storage-fiókkal szeretne frissíteni, olvassa el az Apache HBase áttelepítése új verzióra egy új Storage-fiókkal című témakört.
A frissítés közbeni állásidőnek csak néhány percnek kell lennie. Ezt az állásidőt az okozza, hogy a rendszer kiüríti az összes memóriabeli adatot, valamint az új fürt szolgáltatásainak konfigurálásához és újraindításához szükséges időt. Az eredmények a csomópontok számától, az adatok mennyiségétől és más változóktól függően változnak.
Az Apache HBase kompatibilitásának áttekintése
Az Apache HBase frissítése előtt győződjön meg arról, hogy a forrás- és célfürtök HBase-verziói kompatibilisek. Tekintse át a HBase verziókompatibilitási mátrixát és kibocsátási megjegyzéseit a HBase referencia-útmutatójában , és győződjön meg arról, hogy az alkalmazás kompatibilis az új verzióval.
Íme egy példa kompatibilitási mátrixra. Az Y kompatibilitást jelez, az N pedig potenciális inkompatibilitást jelez:
Kompatibilitás típusa | Főverzió | Alverzió | Patch |
---|---|---|---|
Client-Server vezetékkompatibilitás | N | Y | Y |
Server-Server kompatibilitás | N | Y | Y |
Fájlformátum kompatibilitása | N | Y | Y |
Ügyfél API-kompatibilitás | N | Y | Y |
Ügyfél bináris kompatibilitása | N | N | Y |
Kiszolgálóoldali korlátozott API-kompatibilitás | |||
Stable | N | Y | Y |
Fejlődő | N | N | Y |
Instabil | N | N | N |
Függőségek kompatibilitása | N | Y | Y |
Működési kompatibilitás | N | N | Y |
A HDInsight-verziókkal és -kompatibilitással kapcsolatos további információkért lásd: Azure HDInsight-verziók.
Apache HBase-fürt migrálása – áttekintés
Az Apache HBase-fürt Azure HDInsighton való frissítéséhez hajtsa végre az alábbi alapvető lépéseket. Részletes útmutatásért tekintse meg a részletes lépéseket és parancsokat, vagy használja a HBase migrálása szkriptek használatával című szakasz szkripteit az automatikus migráláshoz .
A forrásfürt előkészítése:
- Adatbetöltés leállítása.
- Memstore-adatok kiürítése.
- Állítsa le a HBase-t az Ambariból.
- Gyorsított írást tartalmazó fürtök esetén biztonsági másolatot készít az Előre írási napló (WAL) könyvtárról.
A célfürt előkészítése:
- Hozza létre a célfürtöt.
- Állítsa le a HBase-t az Ambariból.
- Frissítsen
fs.defaultFS
a HDFS-szolgáltatás konfigurációiban, hogy az eredeti forrásfürt-tárolóra hivatkozzon. - Gyorsított írási folyamattal rendelkező fürtök esetén frissítsen
hbase.rootdir
a HBase szolgáltatáskonfigurálásaiban, hogy az eredeti forrásfürt-tárolóra hivatkozzon. - A Zookeeper-adatok tisztítása.
Végezze el a migrálást:
- Tisztítsa meg és migrálja a WAL-t.
- Másolja az alkalmazásokat a célfürt alapértelmezett tárolójából az eredeti forrástárolóba.
- Indítsa el az összes szolgáltatást az Ambari célfürtből.
- Ellenőrizze a HBase-t.
- Törölje a forrásfürtöt.
Részletes migrálási lépések és parancsok
Ezeket a részletes lépéseket és parancsokat követve migrálhatja az Apache HBase-fürtöt.
A forrásfürt előkészítése
Állítsa le a forrás HBase-fürtbe való betöltést.
Ürítse ki a frissíteni kívánt forrás HBase-fürtöt.
A HBase a bejövő adatokat egy memstore nevű memóriabeli tárolóba írja. Miután a memstore elérte a kívánt méretet, a HBase a fürt tárfiókjában lévő hosszú távú tároláshoz kiüríti azt a lemezre. Ha a frissítés után törli a forrásfürtöt, a memstoresban lévő adatokat is törli. Az adatok megőrzéséhez a frissítés előtt manuálisan ürítse ki az egyes táblák memstoreját a lemezre.
A memstore-adatok kiüríthetők a flush_all_tables.sh szkript futtatásával az Azure hbase-utils GitHub-adattárból.
A memstore-adatokat a HDInsight-fürt következő HBase-rendszerhéj-parancsának futtatásával is kiürítheti:
hbase shell flush "<table-name>"
Jelentkezzen be az Apache Ambariba a forrásfürtön a következővel
https://<OLDCLUSTERNAME>.azurehdinsight.net
: , és állítsa le a HBase-szolgáltatásokat.A megerősítést kérő üzenetben válassza a jelölőnégyzetet a HBase karbantartási módjának bekapcsolásához.
Az Ambarihoz való csatlakozásról és az Ambari használatával kapcsolatos további információkért lásd: HDInsight-fürtök kezelése az Ambari webes felhasználói felületén.
Ha a forrás HBase-fürt nem rendelkezik a Gyorsított írások funkcióval, hagyja ki ezt a lépést. Gyorsított írással rendelkező forrás HBase-fürtök esetén biztonsági másolatot kell készíteni a WAL-címtárról a HDFS alatt az alábbi parancsok futtatásával egy SSH-munkamenetből a forrásfürt Bármelyik Zookeeper-csomópontján vagy munkavégző csomópontján.
hdfs dfs -mkdir /hbase-wal-backup hdfs dfs -cp hdfs://mycluster/hbasewal /hbase-wal-backup
A célfürt előkészítése
A Azure Portal állítson be egy új cél HDInsight-fürtöt a forrásfürttel megegyező tárfiókkal, de egy másik tárolónévvel:
Jelentkezzen be az Apache Ambariba az új fürtön a címen
https://<NEWCLUSTERNAME>.azurehdinsight.net
, és állítsa le a HBase-szolgáltatásokat.A Services>HDFS>Configs>Advanced>Advanced core-site területen módosítsa a
fs.defaultFS
HDFS-beállítást úgy, hogy az az eredeti forrásfürt-tároló nevére mutasson. Az alábbi képernyőképen látható beállítást például a következőre kell módosítani:wasbs://hbase-upgrade-old-2021-03-22
.Ha a célfürt rendelkezik a Gyorsított írások funkcióval, módosítsa az
hbase.rootdir
elérési utat úgy, hogy az az eredeti forrásfürt-tároló nevére mutasson. Az alábbi elérési utat például a következőre kell módosítani:hbase-upgrade-old-2021-03-22
. Ha a fürt nem rendelkezik gyorsított írási műveletekkel, hagyja ki ezt a lépést.Törölje a Zookeeper-adatokat a célfürtön a következő parancsok futtatásával bármely Zookeeper-csomóponton vagy feldolgozócsomóponton:
hbase zkcli rmr /hbase-unsecure quit
WAL tisztítása és migrálása
Futtassa a következő parancsokat a forrás HDI-verziójától, valamint attól függően, hogy a forrás- és célfürtök rendelkeznek-e gyorsított írási folyamatokkal.
- A célfürt mindig a HDI 4.0-s verziója, mivel a HDI 3.6 alapszintű támogatásban van, és nem ajánlott új fürtökhöz.
- A HDFS másolási parancsa a következő
hdfs dfs <copy properties starting with -D> -cp <source> <destination> # Serial execution
: .
Megjegyzés
- A
<source-container-fullpath>
WASB tárolótípus a következőwasbs://<source-container-name>@<storageaccountname>.blob.core.windows.net
: . - A
<source-container-fullpath>
tárolótípus Azure Data Lake Storage Gen2 a következőabfs://<source-container-name>@<storageaccountname>.dfs.core.windows.net
: .
- A forrásfürt HDI 3.6 gyorsított írásokkal, a célfürt pedig gyorsított írási folyamatokkal rendelkezik.
- A forrásfürt HDI 3.6 gyorsított írások nélkül, a célfürt pedig gyorsított írási folyamatokkal rendelkezik.
- A forrásfürt HDI 3.6 gyorsított írások nélkül, és a célfürt nem rendelkezik gyorsított írási műveletekkel.
- A forrásfürt a HDI 4.0 gyorsított írásokkal, a célfürt pedig gyorsított írási folyamatokkal rendelkezik.
- A forrásfürt HDI 4.0 gyorsított írások nélkül, a célfürt pedig gyorsított írási folyamatokkal rendelkezik.
- A forrásfürt HDI 4.0 gyorsított írások nélkül, és a célfürt nem rendelkezik gyorsított írási műveletekkel.
A forrásfürt a HDI 3.6 vagy a HDI 4.0 gyorsított írásokkal, a célfürt pedig gyorsított írási folyamatokkal rendelkezik
Törölje a célfürt WAL FS-adatait, és másolja a WAL-könyvtárat a forrásfürtből a célfürt HDFS-fájljába. Másolja ki a könyvtárat a következő parancsok futtatásával a célfürt bármely Zookeeper-csomópontján vagy munkavégző csomópontján:
sudo -u hbase hdfs dfs -rm -r hdfs://mycluster/hbasewal
sudo -u hbase hdfs dfs -cp <source-container-fullpath>/hbase-wal-backup/hbasewal hdfs://mycluster/
A forrásfürt HDI 3.6 gyorsított írások nélkül, a célfürt pedig gyorsított írási folyamatokkal rendelkezik
Törölje a célfürt WAL FS-adatait, és másolja a WAL-könyvtárat a forrásfürtből a célfürt HDFS-fájljába. Másolja ki a könyvtárat a következő parancsok futtatásával a célfürt bármely Zookeeper-csomópontján vagy munkavégző csomópontján:
sudo -u hbase hdfs dfs -rm -r hdfs://mycluster/hbasewal
sudo -u hbase hdfs dfs -Dfs.azure.page.blob.dir="/hbase/WALs,/hbase/MasterProcWALs,/hbase/oldWALs" -cp <source-container>/hbase/*WALs hdfs://mycluster/hbasewal
A forrásfürt HDI 3.6 gyorsított írások nélkül, és a célfürt nem rendelkezik gyorsított írási műveletekkel
Törölje a célfürt WAL FS-adatait, és másolja a forrásfürt WAL-könyvtárát a célfürt HDFS-fájljába. A könyvtár másolásához futtassa a következő parancsokat a célfürt bármelyik Zookeeper-csomópontján vagy munkavégző csomópontján:
sudo -u hbase hdfs dfs -rm -r /hbase-wals/*
sudo -u hbase hdfs dfs -Dfs.azure.page.blob.dir="/hbase/WALs,/hbase/MasterProcWALs,/hbase/oldWALs" -cp <source-container-fullpath>/hbase/*WALs /hbase-wals
A forrásfürt HDI 4.0 gyorsított írások nélkül, a célfürt pedig gyorsított írási folyamatokkal rendelkezik
Törölje a célfürt WAL FS-adatait, és másolja a WAL-könyvtárat a forrásfürtből a célfürt HDFS-fájljába. Másolja ki a könyvtárat a következő parancsok futtatásával a célfürt bármely Zookeeper-csomópontján vagy munkavégző csomópontján:
sudo -u hbase hdfs dfs -rm -r hdfs://mycluster/hbasewal
sudo -u hbase hdfs dfs -cp <source-container-fullpath>/hbase-wals/* hdfs://mycluster/hbasewal
A forrásfürt HDI 4.0 gyorsított írások nélkül, és a célfürt nem rendelkezik gyorsított írási műveletekkel
Törölje a célfürt WAL FS-adatait, és másolja a forrásfürt WAL-könyvtárát a célfürt HDFS-fájljába. A könyvtár másolásához futtassa a következő parancsokat a célfürt bármelyik Zookeeper-csomópontján vagy munkavégző csomópontján:
sudo -u hbase hdfs dfs -rm -r /hbase-wals/*
sudo -u hbase hdfs dfs -Dfs.azure.page.blob.dir="/hbase-wals" -cp <source-container-fullpath>/hbase-wals /
A migrálás befejezése
sudo -u hdfs
A felhasználói környezet használatával másolja át a mappát/hdp/apps/<new-version-name>
és annak tartalmát a<destination-container-fullpath>
mappából a mappába<source-container-fullpath>
./hdp/apps
A mappa másolásához futtassa a következő parancsokat a célfürtön:sudo -u hdfs hdfs dfs -cp /hdp/apps/<hdi-version> <source-container-fullpath>/hdp/apps
Például:
sudo -u hdfs hdfs dfs -cp /hdp/apps/4.1.3.6 wasbs://hbase-upgrade-old-2021-03-22@hbaseupgrade.blob.core.windows.net/hdp/apps
Mentse a módosításokat a célfürtön, és indítsa újra az összes szükséges szolgáltatást, ahogy az Ambari jelzi.
Mutasson az alkalmazásra a célfürtre.
Megjegyzés
A frissítéskor megváltozik az alkalmazás statikus DNS-neve. A DNS-név kemény kódolása helyett konfigurálhat egy CNAME-et a tartománynév DNS-beállításaiban, amely a fürt nevére mutat. Másik lehetőségként használhat egy konfigurációs fájlt az alkalmazáshoz, amelyet újratelepítés nélkül frissíthet.
Indítsa el a betöltési elemet.
Ellenőrizze a HBase konzisztenciáját, valamint az egyszerű adatdefiníciós nyelv (DDL) és az adatkezelési nyelv (DML) műveleteit.
Ha a célfürt megfelelő, törölje a forrásfürtöt.
HBase migrálása szkriptekkel
Hajtsa végre a migrate-hbase-source.sh szkriptet a forrásfürtön, és migrate-hbase-dest.sh a célfürtön. A szkriptek végrehajtásához kövesse az alábbi utasításokat.
Megjegyzés
Ezek a szkriptek nem másolják a HBase régi WALs-eit a migrálás részeként; Ezért a szkriptek nem használhatók olyan fürtökön, amelyeken engedélyezve van a HBase biztonsági mentési vagy replikációs funkciója.
Forrásfürtön
sudo bash migrate-hbase-source.sh
Célfürtön
sudo bash migrate-hbase-dest.sh -f <src_default_Fs>
A fenti parancs kötelező argumentuma:
-f, --src-fs
The fs.defaultFS of the source cluster
For example:
-f wasb://anynamehbase0316encoder-2021-03-17t01-07-55-935z@anynamehbase0hdistorage.blob.core.windows.net
Következő lépések
Az Apache HBase-ről és a HDInsight-fürtök frissítéséről az alábbi cikkekben talál további információt:
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: