Come installare HBase su Ubuntu (Installazione HBase)

Modalità di installazione di Apache HBase

Apache HBase può essere installato in tre modalità. Le caratteristiche di queste modalità sono menzionate di seguito.

1) Installazione in modalità standalone (nessuna dipendenza dal sistema Hadoop)

  • Questa è la modalità predefinita di HBase
  • Funziona contro il file system locale
  • Non serve Hadoop HDFS
  • Può essere eseguito solo il demone HMaster
  • Non consigliato per l'ambiente di produzione
  • Funziona in una singola JVM

2) Installazione in modalità pseudo-distribuita (sistema Hadoop a nodo singolo + installazione HBase)

  • Funziona Hadoop HDFS
  • Tutti i demoni vengono eseguiti in un singolo nodo
  • Consigliato per l'ambiente di produzione

3) Installazione in modalità completamente distribuita (ambiente MultinodeHadoop + installazione HBase)

  • Funziona Hadoop HDFS
  • Tutti i demoni verranno eseguiti su tutti i nodi presenti nel cluster
  • Altamente raccomandato per l'ambiente di produzione

Per l'installazione di Hadoop, fare riferimento a questo URL Qui

Come scaricare la versione stabile del file tar HBase

Passo 1) Vai al link qui per scaricare HBase. Si aprirà una pagina web come mostrato di seguito.

Scarica la versione stabile del file HBase Tar

Passo 2) Seleziona la versione stabile come mostrato di seguito versione 1.1.2

Scarica la versione stabile del file HBase Tar

Passo 3) Fare clic su hbase-1.1.2-bin.tar.gz. Verrà scaricato il file tar. Copia il file tar in un percorso di installazione.

Scarica la versione stabile del file HBase Tar

Come installare HBase in Ubuntu con modalità autonoma

Ecco il processo passo passo dell'installazione in modalità autonoma di HBase in Ubuntu:

Passaggio 1) Inserisci il comando seguente
Inserisci hbase-1.1.2-bin.tar.gz in /home/hduser
Passaggio 2) Decomprimilo eseguendo il comando $tar -xvf hbase-1.1.2-bin.tar.gz.
Decomprimerà il contenuto e creerà hbase-1.1.2 nella posizione /home/hduser

Passaggio 3) Apri hbase-env.sh
Apri hbase-env.sh come di seguito e menziona il percorso JAVA_HOME nella posizione.

Installa HBase in Ubuntu con modalità autonoma

Passaggio 4) Apri il file e menziona il percorso
Apri il file ~/.bashrc e menziona il percorso HBASE_HOME come mostrato di seguito

esporta HBASE_HOME=/home/hduser/hbase-1.1.1
esporta PERCORSO= $PERCORSO:$HBASE_HOME/bin

Installa HBase in Ubuntu con modalità autonoma

Passaggio 5) Aggiungere le proprietà nel file
Aprire hbase-site.xml e inserire le seguenti proprietà all'interno del file

hduser@ubuntu$ gedit hbase-site.xml(codice come di seguito)

<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>

Installa HBase in Ubuntu con modalità autonoma

Qui stiamo inserendo due proprietà

  • Uno per la directory root HBase e
  • Il secondo per la directory dei dati corrisponde a ZooKeeper.

Tutte le attività di HMaster e ZooKeeper rimandano a questo hbase-site.xml.

Passaggio 6) Menzionare gli IP
Apri il file host presente in /etc. posizione e menzionare gli IP come mostrato di seguito.

Installa HBase in Ubuntu con modalità autonoma

Passaggio 7) Ora esegui Start-hbase.sh nella posizione hbase-1.1.1/bin come mostrato di seguito.

E possiamo controllare tramite il comando jps per vedere che HMaster sia in esecuzione o meno.

Installa HBase in Ubuntu con modalità autonoma

Passaggio 8) Avviare la shell HBase
La shell HBase può essere avviata utilizzando "shell hbase" ed entrerà in modalità shell interattiva come mostrato nello screenshot seguente. Una volta entrato in modalità shell, possiamo eseguire tutti i tipi di comandi.

Installa HBase in Ubuntu con modalità autonoma

La modalità autonoma non richiede l'avvio dei demoni Hadoop. HBase può essere eseguito in modo indipendente.

Modalità di installazione pseudo-distribuita HBase

Questo è un altro metodo per l'installazione di Apache HBase, noto come modalità di installazione pseudo distribuita.
Di seguito sono riportati i passaggi per installare HBase tramite la modalità pseudo distribuita:

Passo 1) Inserisci hbase-1.1.2-bin.tar.gz in /home/hduser

Passo 2) Decomprimilo eseguendo il comando$tar -xvf hbase-1.1.2-bin.tar.gz. Decomprimerà il contenuto e creerà hbase-1.1.2 nella posizione /home/hduser

Passo 3) Aprire hbase-env.sh come segue e menzionare il percorso JAVA_HOME e il percorso dei server della regione nella posizione ed esportare il comando come mostrato

Modalità di installazione pseudo-distribuita HBase

Passo 4) In questo passaggio, apriremo il file ~/.bashrc e menzioneremo il percorso HBASE_HOME come mostrato nello screenshot.

Installazione in modalità pseudodistribuita HBase

Passo 5) Apri HBase-site.xml e menziona le proprietà seguenti nel file. (Codice come di seguito)

<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>

Modalità di installazione pseudo-distribuita HBase

Modalità di installazione pseudo-distribuita HBase

  1. Configurazione della directory root Hbase in questa proprietà
  2. Per la configurazione distribuita dobbiamo impostare questa proprietà
  3. La proprietà del quorum di ZooKeeper deve essere impostata qui
  4. Configurazione della replica eseguita in questa proprietà. Per impostazione predefinita, stiamo posizionando la replica come 1. Nella modalità completamente distribuita, sono presenti più nodi di dati in modo da poter aumentare la replica inserendo più di 1 valore nella proprietà dfs.replication
  5. La porta client deve essere menzionata in questa proprietà
  6. La directory dei dati di ZooKeeper può essere menzionata in questa proprietà

Passo 6) Avviare prima i demoni Hadoop e successivamente avviare i demoni HBase come mostrato di seguito

Qui per prima cosa devi avviare i demoni Hadoop usando“./start-all.sh” comando come mostrato di seguito.

Modalità di installazione pseudo-distribuita HBase

Dopo aver avviato i demoni Hbase tramite hbase-start.sh

Modalità di installazione pseudo-distribuita HBase

Ora controlla jps

Modalità di installazione pseudo-distribuita HBase

Installazione in modalità completamente distribuita HBase

  • Questa configurazione funzionerà in modalità cluster Hadoop in cui più nodi vengono generati nel cluster e sono in esecuzione.
  • L'installazione è identica alla modalità pseudo distribuita; l'unica differenza è che verrà generato su più nodi.
  • I file di configurazione menzionati in HBase-site.xml e hbase-env.sh sono gli stessi menzionati in modalità pseudo.

Risoluzione dei problemi di installazione di HBase

1) Dichiarazione del problema: Il server principale viene inizializzato ma i server regionali non vengono inizializzati

La comunicazione tra i server master e regionali tramite i loro indirizzi IP. Come il modo in cui Master ascolterà che i server regionali sono in esecuzione o hanno l'indirizzo IP 127.0.0.1. L'indirizzo IP 127.0.0.1 che è l'host locale e si risolve nell'host locale del server master.

causa:

Nella doppia comunicazione tra server regionali e master, il server regionale informa continuamente il server master che i loro indirizzi IP sono 127.0.0.1.

Soluzione:

  • È necessario rimuovere il nodo del nome del server principale dall'host locale presente nel file host
  • Posizione del file host /etc/hosts

Cosa cambiare:

Apri /etc./hosts e vai in questa posizione

127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost
: : 1              localhost3.localdomain3 localdomain3

Modifica la configurazione di cui sopra come di seguito (rimuovi il nome del server della regione come evidenziato sopra)

127.0.0.1    localhost.localdomainlocalhost
: : 1 localhost3.localdomain3 localdomain3

2) Dichiarazione del problema: Impossibile trovare il mio indirizzo: XYZ nell'elenco dei server quorum Zookeeper

causa:

  • Il server ZooKeeper non è stato in grado di avviarsi e genererà un errore come .xyz nel nome del server.
  • HBase tenta di avviare un server ZooKeeper su qualche macchina ma allo stesso tempo la macchina non è in grado di trovare la configurazione del quorum, ovvero presente in HBase.zookeeper.quorum file di configurazione.

Soluzione:-

  • È necessario sostituire il nome host con un nome host presentato nel messaggio di errore
  • Supponiamo di avere un server DNS, quindi possiamo impostare le configurazioni seguenti in HBase-site.xml.
    • HBase.zookeeper.dns.interfaccia
    • HBase.zookeeper.dns.nameserver

3) Dichiarazione del problema: Creata la directory root per HBase tramite Hadoop DFS

  • Master dice che è necessario eseguire lo script di migrazione HBase.
  • Dopo averlo eseguito, lo script delle migrazioni HBase risponde come se non ci fossero file nella directory root.

causa:

  • Creazione di una nuova directory per l'utilizzo di HBase Hadoop File system distribuito
  • Qui HBase prevede due possibilità

1) La directory principale non esiste

2) L'istanza in esecuzione precedente di HBase è stata inizializzata prima

Soluzione:

  • Rendi conforme la directory root HBase che attualmente non esiste o è stata inizializzata da un'esecuzione precedente dell'istanza HBase.
  • Come parte della soluzione, dobbiamo seguire i passaggi

Passo 1) Utilizzo di Hadoop dfs per eliminare la directory root HBase

Passo 2) HBase crea e inizializza la directory da solo

4) Dichiarazione del problema: Eventi della sessione Zookeeper scaduti

causa:

  • I server HMaster o HRegion si arrestano generando eccezioni
  • Se osserviamo i log, possiamo scoprire le eccezioni effettive che sono state generate

Di seguito viene mostrata l'eccezione generata a causa dell'evento di scadenza di Zookeeper. Gli eventi evidenziati sono alcune delle eccezioni verificatesi nel file di registro

Codice dei file di registro come visualizzato di seguito:

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

Soluzione:

  • La dimensione RAM predefinita è 1 GB. Per eseguire importazioni a lungo termine, abbiamo mantenuto la capacità della RAM superiore a 1 GB.
  • È necessario aumentare il timeout della sessione per Zookeeper.
  • Per aumentare il tempo di sessione di Zookeeper, dobbiamo modificare la seguente proprietà in "hbase-site.xml" presente nel percorso della cartella hbase /conf.
  • Il timeout predefinito della sessione è 60 secondi. Possiamo cambiarlo a 120 secondi come indicato di seguito
<property>
    <name> zookeeper.session.timeout </name>
    <value>1200000</value>
</property>
<property>
    <name> hbase.zookeeper.property.tickTime </name>
    <value>6000</value>
</property>