Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan frissítheti az Apache HBase-fürtöt az Azure HDInsight környezetében 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ürt számára egy új vagy eltérő tárolófiókkal szeretne frissíteni, olvassa el: Az Apache HBase áttelepítése új verzióra új tárolófiókkal.
A frissítés közbeni állásidőnek csak néhány percnek kell lennie. A rendszerleállást az összes memóriabeli adat kiürítésére vonatkozó lépések, valamint az új klaszteren lévő szolgáltatások konfigurálásához és újraindításához szükséges idő okozza. 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 annak ellenőrzéséhez, hogy az alkalmazás kompatibilis-e 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ó | Kisebb verzió | Javítás |
|---|---|---|---|
| Ügyfél-kiszolgáló vezetékkompatibilitása | N | Y | Y |
| Kiszolgáló-kiszolgáló kompatibilitása | 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 | |||
| Stabil | 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 |
További információ a HDInsight-verziókról és a kompatibilitásról: Azure HDInsight-verziók.
Apache HBase-klaszter 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 lépéseket és parancsokat, vagy használja az Automatizált migrálás HBase szkriptek segítségével szakasz szkriptjeit.
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ással rendelkező fürtök esetén biztonsági másolatot kell készítenie az Előre írási napló (WAL) könyvtárról.
A célcsoport előkészítése:
- Hozza létre a célfürtöt.
- Állítsa le a HBase-t az Ambariból.
- Frissítse
fs.defaultFSaz HDFS szolgáltatás beállításaiban, hivatkozásaképpen az eredeti forrásfürt-tárolóra. - Gyorsított írással rendelkező fürtök esetén frissítsen
hbase.rootdira HBase szolgáltatáskonfigurációiban, 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 é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 áttelepíté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.
Készítsd elő a forrásfürtöt
Állítsa le a forrás HBase-fürt adatbetöltését.
Ürítse ki a frissíteni kívánt forrás HBase-fürtöt.
A HBase egy memstorenevű memóriabeli tárolóba írja a bejövő adatokat. Miután a memstore elérte a bizonyos méretet, a HBase a klaszter tárfiókjában lévő hosszú távú tárolás céljából kimenti azt lemezre. A forrásklaszter törlése a frissítés után a memóriatárolók összes adatát 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 memstore-ját a lemezre.
A memstore-adatok kiüríthetők a flush_all_tables.sh szkript futtatásával a Azure hbase-utils GitHub-adattárból.
A memstore-adatokat a KÖVETKEZŐ HBase-rendszerhéj parancs futtatásával is kiürítheti a HDInsight-fürtből:
hbase shell flush "<table-name>"Jelentkezzen be a forrásfürtre az Apache Ambari alkalmazásba a
https://<OLDCLUSTERNAME>.azurehdinsight.nethasználatával, és állítsa le a HBase-szolgáltatásokat.A megerősítést kérő párbeszédpanelen válassza a jelölőnégyzetet a HBase karbantartási mód 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ével.
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 a HDFS-ben védje meg a WAL könyvtárat az alábbi parancsok alkalmazásával egy SSH-munkamenetből a forrásfürt bármelyik Zookeeper-csomópontján vagy feldolgozó 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
Az Azure portálon állítson be egy új cél-HDInsight-fürtöt ugyanazzal a tárfiókkal, mint a forrásfürt, de más tárolónévvel.
Jelentkezzen be az Apache Ambariba az új klaszteren
https://<NEWCLUSTERNAME>.azurehdinsight.net, és állítsa le a HBase szolgáltatásait.A Szolgáltatások>HDFS>Konfigurációk>Speciális>Speciális core-site területén módosítsa a
fs.defaultFSHDFS-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ítaniwasbs://hbase-upgrade-old-2021-03-22.
Ha a célfürt rendelkezik a Gyorsított írások funkcióval, módosítsa az
hbase.rootdirelérési útvonalát úgy, hogy az az eredeti forrásfürt tárolónevére mutasson. Az alábbi elérési utat például módosítani kell a következőrehbase-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 az alábbi 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
A következő parancsokat az alábbiak szerint hajtsa végre: a forrás HDI-verziójától és attól függően, hogy a forrás- és célfürtök rendelkeznek-e Accelerated Writes funkcióval.
- A célfürt mindig a HDI 4.0 verziója, mivel a HDI 3.6 csak alapszintű támogatásban részesül, és nem ajánlott új fürtök létrehozásához.
- 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 awasbs://<source-container-name>@<storageaccountname>.blob.core.windows.netkövetkező: . - Az
<source-container-fullpath>Azure Data Lake Storage Gen2 tárolási típusa azabfs://<source-container-name>@<storageaccountname>.dfs.core.windows.net.
- A forrásfürt az HDI 3.6 gyorsított írással, és a célfürt is rendelkezik gyorsított írással.
- A forrásfürt a HDI 3.6, gyorsított írások nélkül, és a célfürt rendelkezik gyorsított írásokkal.
- A forrásfürt HDI 3.6, nincs gyorsított írás, és a célfürt sem rendelkezik gyorsított írásokkal.
- A forrásfürt a HDI 4.0 gyorsított írásokkal van felszerelve, és a célfürt is rendelkezik gyorsított írásokkal.
- A forrásfürt HDI 4.0 Gyorsított Írások nélkül van, és a célfürtnél Gyorsított Írásokelérhetők.
- A forrásfürt HDI 4.0 gyorsított írások nélkül, a célfürt pedig nem rendelkezik gyorsított írással.
A forrásfürt HDI 3.6 vagy HDI 4.0 gyorsított írással, a célfürt pedig gyorsított írási képességgel 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 a könyvtárat a következő parancsok futtatásával a célfürt bármelyik Zookeeper-csomópontján vagy feldolgozó 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ásokkal 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 a könyvtárat a következő parancsok futtatásával a célfürt bármelyik Zookeeper-csomópontján vagy feldolgozó 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, a célfürt pedig nem rendelkezik gyorsított írásokkal
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 feldolgozó 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ásokkal 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 a könyvtárat a következő parancsok futtatásával a célfürt bármelyik Zookeeper-csomópontján vagy feldolgozó 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, a célfürt pedig nem rendelkezik gyorsított írásokkal
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 feldolgozó 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
A(z)
sudo -u hdfsfelhasználói környezet használatával másolja a(z)/hdp/apps/<new-version-name>mappát és annak tartalmát a(z)<destination-container-fullpath>mappából a(z)<source-container-fullpath>mappába a(z)/hdp/appsalá. 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/appsPé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/appsMentse 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.
Irányítsa az alkalmazást 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-t a tartománynév DNS-beállításaiban, amelyek a fürt nevére mutatnak. Egy másik lehetőség egy konfigurációs fájl használata az alkalmazáshoz, amelyet újra üzembe helyezés nélkül frissíthet.
Kezdje el az adatbetöltést.
Ellenőrizze a HBase konzisztenciáját és az egyszerű adatdefiníciós nyelv (DDL) és az adatmanipulációs 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 szkript migrate-hbase-source.sh 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 WAL-jait a migrálás részeként; ezért a szkriptek nem használhatók olyan fürtökben, ahol engedélyezve van a HBase Biztonsági mentése vagy a Replikáció funkció.
A forrásfürtön
sudo bash migrate-hbase-source.shCé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 olvashat bővebben: