Hogyan telepítsük a HBase-t? Ubuntu: Lépésről lépésre útmutató
⚡ Okos összefoglaló
HBase telepítés bekapcsolva Ubuntu három módban fut – önálló, pszeudo-elosztott és teljesen elosztott –, és ismerteti a kiadási tarball letöltését, a hbase-env.sh és a hbase-site.xml szerkesztését, a démonok indítását és a gyakori indítási hibák javítását.

Az Apache HBase egy elosztott, oszloporientált adatbázis amely a Hadoop elosztott fájlrendszer (HDFS) tetején fut. Mielőtt elkezdené, győződjön meg arról, hogy egy támogatott Java futtatókörnyezet telepítve van és a JAVA_HOME be van állítva; a pszeudo-elosztott és a teljesen elosztott módokhoz is működő Hadoop telepítés.
Apache HBase telepítési módok
Az Apache HBase három módban telepíthető. Ezen módok jellemzőit az alábbiakban ismertetjük.
1) Önálló módú telepítés (nincs függés a Hadoop rendszertől)
- Ez a HBase alapértelmezett módja.
- A helyi fájlrendszeren fut.
- Nem használ Hadoop HDFS.
- Csak a HMaster démon futtatható.
- Nem ajánlott termelési környezetbe.
- Egyetlen JVM-ben fut.
2) Ál-elosztott módú telepítés (egy csomópontos Hadoop rendszer + HBase telepítés)
- Ez fut tovább Hadoop HDFS.
- Minden démon egyetlen csomóponton fut.
- Éles környezetbe ajánlott.
3) Teljesen elosztott módú telepítés (többcsomópontos Hadoop környezet + HBase telepítés)
- Ez fut tovább Hadoop HDFS.
- Minden démon a fürtben található összes csomóponton fut.
- Éles környezetben kifejezetten ajánlott.
A Hadoop telepítéséhez lásd ezt Hadoop telepítési útmutató.
Az alábbi képernyőképek a HBase 1.1.2-t használják. A jelenlegi stabil kiadások a HBase 2.5.x és 2.6.x sorozatúak (Java 8 vagy 11), de a telepítési lépések és a konfigurációs fájlok lényegében ugyanazok maradnak.
A HBase tar fájl stabil verziójának letöltése
1. lépés) Lépjen a hivatalos Apache HBase letöltési oldal a HBase letöltéséhez. Megnyílik a letöltési weboldal, ahogy az alább látható.
2. lépés) Válassza ki a stabil verziót az alábbiak szerint, a HBase 1.1.2 verziót.
3. lépés) Kattintson a hbase-1.1.2-bin.tar.gz fájlra. Ez letölti a tar fájlt. Másolja a tar fájlt egy telepítési helyre.
A HBase telepítése Ubuntu Önálló móddal
Íme a HBase önálló módú telepítésének lépésről lépésre történő folyamata: Ubuntu:
1. lépés) Helyezd el az alábbi parancsot. Helyezd el a hbase-1.1.2-bin.tar.gz fájlt a /home/hduser mappában.
2. lépés) Csomagold ki a következő parancs végrehajtásával: $tar -xvf hbase-1.1.2-bin.tar.gz. A parancs kicsomagolja a tartalmat, és létrehozza a hbase-1.1.2 fájlt a /home/hduser helyen.
3. lépés) Nyissa meg a hbase-env.sh fájlt az alábbiak szerint, és említse meg a JAVA_HOME elérési utat az alábbiak szerint.
4. lépés) Nyissa meg a ~/.bashrc fájlt, és adja meg a HBASE_HOME elérési utat az alábbiak szerint.
export HBASE_HOME=/home/hduser/hbase-1.1.1 export PATH= $PATH:$HBASE_HOME/bin
A frissített ~/.bashrc fájl a HBASE_HOME bejegyzéssel alább látható.
5. lépés) Tulajdonságok hozzáadása a fájlhoz. Nyissa meg a hbase-site.xml fájlt, és illessze be a következő tulajdonságokat a fájlba.
hduser@ubuntu$ gedit hbase-site.xml (kód az alábbi)
<property> <name>hbase.rootdir</name> <value>file:///home/hduser/HBASE/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/HBASE/zookeeper</value> </property>
A hbase-site.xml fájl megnyitása itt történt: gedit az alább látható.
Itt két tulajdonságot helyezünk el:
- Egy a HBase gyökérkönyvtárához, és
- A második az adatkönyvtárhoz tartozik, amely megfelel a következőnek: Állatgondozó.
Minden HMaster és ZooKeeper tevékenység erre a hbase-site.xml fájlra mutat.
6. lépés) Említse meg az IP-címeket. Nyissa meg az /etc. helyen található hosts fájlt, és az alábbiak szerint említse meg az IP-címeket.
7. lépés) Most futtassa a start-hbase.sh parancsot a hbase-1.1.1/bin helyen az alábbiak szerint. Ezután a jps paranccsal ellenőrizheti, hogy a HMaster fut-e vagy sem.
8. lépés) Indítsa el a HBase Shell-t. A HBase shell a következővel indítható el: hbase shell parancsot, és interaktív shell módba lép, ahogy az az alábbi képernyőképen is látható. Miután shell módba lépett, mindenféle parancsot végrehajthatunk.
Az önálló mód nem igényel Hadoop démonokat az induláshoz. A HBase önállóan is futhat.
HBase pszeudo elosztott telepítési mód
Ez egy másik módszer az Apache HBase telepítésére, amelyet pszeudoelosztott telepítési módnak neveznek. Az alábbiakban a HBase pszeudoelosztott módban történő telepítésének lépései láthatók.
1. lépés) Helyezze el a hbase-1.1.2-bin.tar.gz fájlt a /home/hduser könyvtárban.
2. lépés) Csomagold ki a következő parancs végrehajtásával: $tar -xvf hbase-1.1.2-bin.tar.gz. A parancs kicsomagolja a tartalmat, és létrehozza a hbase-1.1.2 fájlt a /home/hduser helyen.
3. lépés) Nyissa meg a hbase-env.sh fájlt az alábbiak szerint, említse meg a JAVA_HOME elérési utat és a régiókiszolgálók elérési útját a helyen, majd exportálja a parancsot az alábbiak szerint.
4. lépés) Ebben a lépésben megnyitjuk a ~/.bashrc fájlt, és megadjuk a HBASE_HOME elérési utat, ahogy az az alábbi képernyőképen látható.
5. lépés) Nyissa meg a hbase-site.xml fájlt, és említse meg az alábbi tulajdonságokat a fájlban (a kód az alábbi).
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/hbase/zookeeper</value> </property>
Az ál-elosztott tulajdonságokkal rendelkező hbase-site.xml fájl alább látható.
A fennmaradó ZooKeeper konfiguráció az alábbiakban látható.
A fájl minden tulajdonságának meghatározott szerepe van:
- A HBase gyökérkönyvtárának beállítása a hbase.rootdir tulajdonságban.
- Elosztott beállítás esetén a hbase.cluster.distributed paramétert igaz értékre kell állítani.
- A ZooKeeper quorum tulajdonságot itt kell beállítani.
- A replikáció a dfs.replication tulajdonságban állítható be. Alapértelmezés szerint a replikáció értéke 1. Teljesen elosztott módban több adatcsomópont van jelen, így a replikáció mértékét növelheti, ha a dfs.replication tulajdonságban 1-nél nagyobb értéket ad meg.
- A kliens portját meg kell említeni a hbase.zookeeper.property.clientPort tulajdonságban.
- A ZooKeeper adatkönyvtárát a hbase.zookeeper.property.dataDir tulajdonságban lehet megemlíteni.
6. lépés) Először a Hadoop démonokat indítsa el, majd a HBase démonokat az alábbiak szerint. Először a ./start-all.sh parancs használatával kell elindítania a Hadoop démonokat az alábbiak szerint.
Ezután indítsa el a HBase démonokat a hbase-start.sh paranccsal, az alábbiak szerint.
Most ellenőrizd a futó folyamatokat a jps paranccsal, az alábbiak szerint.
HBase teljesen elosztott módú telepítés
A teljesen elosztott mód kiterjeszti a pszeudo-elosztott beállítást egy valódi klaszterre.
- Ez a beállítás Hadoop fürt módban működik, ahol több csomópont jelenik meg a fürtön és fut.
- A telepítés ugyanaz, mint a pszeudo elosztott módban; az egyetlen különbség az, hogy több csomóponton fog megjelenni.
- A hbase-site.xml és hbase-env.sh fájlokban említett konfigurációs fájlok megegyeznek a pszeudo módban említettekkel.
Teljesen elosztott módban győződjön meg arról, hogy a fürtön lévő Hadoop verzió megegyezik a HBase-hez csomagban található Hadoop kódtárakkal, hogy a démonok megfelelően kommunikáljanak.
HBase telepítési hibaelhárítás
1) Problémameghatározás: A fő szerver inicializálódik, de a régió szerverei nem.
A master és a regionális szerverek közötti kommunikáció az IP-címeiken keresztül történik. A master figyeli a futó vagy a 127.0.0.1 IP-címmel rendelkező regionális szervereket. A 127.0.0.1 IP-cím a helyi host, és a master szerver saját helyi hosztjára van feloldva.
Ok:
A regionális szerverek és a master szerver közötti kettős kommunikáció során a regionális szerver folyamatosan tájékoztatja a master szervert arról, hogy az IP-címe 127.0.0.1.
Megoldás:
- Távolítsa el a „Master server name” csomópontot a hosts fájlban található helyi host bejegyzésből.
- Gazdagép fájl helye: /etc/hosts.
Mit kell megváltoztatni:
Nyisd meg az /etc/hosts fájlt és menj erre a helyre.
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
Módosítsa a fenti konfigurációt az alábbiak szerint (távolítsa el a régiókiszolgáló nevét a fent kiemelt módon).
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) Problémameghatározás: Nem találtam az XYZ címemet a ZooKeeper kvórumszervereinek listájában.
Ok:
- A ZooKeeper szerver nem tudott elindulni, és hibát dob, például .xyz a szerver nevében.
- A HBase megpróbál elindítani egy ZooKeeper kiszolgálót egy gépen, de ugyanakkor a gép nem találja magát a hbase.zookeeper.quorum konfigurációban található kvórumkonfigurációban.
Megoldás:
- Cserélje le a hosztnevet egy, a hibaüzenetben megjelenő hosztnévre.
- Ha van DNS-kiszolgálód, a következő konfigurációkat állíthatod be a hbase-site.xml fájlban: hbase.zookeeper.dns.interface és hbase.zookeeper.dns.nameserver.
3) Problémameghatározás: Létrehoztam egy gyökérkönyvtárat a HBase számára a Hadoop DFS-en keresztül.
- A Mester azt mondja, hogy le kell futtatnod a HBase migrációs szkriptet.
- A futtatás után a HBase migrációs szkript azt válaszolja, hogy nincsenek fájlok a gyökérkönyvtárban.
Ok:
- Létrehoztunk egy új könyvtárat a HBase számára a Hadoop elosztott fájlrendszer használatával.
- A HBase itt két lehetőséget vár:
1) A gyökérkönyvtár nem létezik.
2) Egy korábbi HBase futó példány inicializálása megtörtént.
Megoldás:
- Győződjön meg arról, hogy a HBase gyökérkönyvtára jelenleg nem létezik, vagy a HBase-példány egy korábbi futtatása során inicializálták.
- A megoldás részeként kövesse az alábbi lépéseket.
1. lépés) A Hadoop dfs használatával törölje a HBase gyökérkönyvtárát.
2. lépés) A HBase létrehozza és inicializálja a könyvtárat.
4) Problémameghatározás: A ZooKeeper munkamenet lejárta miatti események
Ok:
- A HMaster vagy HRegion szerverek kivételek dobásával leálltak.
- Ha megvizsgálod a naplókat, megtalálhatod a ténylegesen keletkezett kivételeket.
A következő ábra a ZooKeeper lejárt eseménye miatt keletkezett kivételt mutatja. A kiemelt események a naplófájlban előfordult kivételek közül néhányat jelölnek.
Naplófájlok kódja az alábbiak szerint:
WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec java.io.IOException: TIMED OUT at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906) WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000 INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT INFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT] INFO org.apache.zookeeper.ClientCnxn: Server connection successful WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e java.io.IOException: Session Expired at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589) at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945) ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired
Megoldás:
- Az alapértelmezett RAM-méret 1 GB. Hosszú ideig futó importálások esetén tartson fenn 1 GB-nál nagyobb RAM-kapacitást.
- Növelje a ZooKeeper munkamenet-időkorlátját.
- A ZooKeeper munkamenet-időtúllépésének növeléséhez módosítsa a következő tulajdonságot a hbase-site.xml fájlban, amely a hbase/conf mappa elérési útján található.
- Az alapértelmezett munkamenet-időkorlát 60 másodperc. Az alábbiak szerint módosíthatja 120 másodpercre.
<property>
<name> zookeeper.session.timeout </name>
<value>1200000</value>
</property>
<property>
<name> hbase.zookeeper.property.tickTime </name>
<value>6000</value>
</property>
















