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.
Passo 2) Seleziona la versione stabile come mostrato di seguito versione 1.1.2
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.
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.
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 |
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>
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.
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.
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.
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
Passo 4) In questo passaggio, apriremo il file ~/.bashrc e menzioneremo il percorso HBASE_HOME come mostrato nello screenshot.
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>
- Configurazione della directory root Hbase in questa proprietà
- Per la configurazione distribuita dobbiamo impostare questa proprietà
- La proprietà del quorum di ZooKeeper deve essere impostata qui
- 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
- La porta client deve essere menzionata in questa proprietà
- 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.
Dopo aver avviato i demoni Hbase tramite hbase-start.sh
Ora controlla jps
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>
















