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>
















