Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
HBase specifiche dell'applicazione per le versioni AMI precedenti di Amazon EMR
Versioni supportate HBase
HBase versione | Versione AMI | AWS CLI parametri di configurazione | HBase dettagli della versione |
---|---|---|---|
0.94.18 |
versioni 3.1.0 e successive |
|
|
0.94.7 |
3.0-3.0.4 |
|
|
0.92 |
versioni 2.2 e successive |
|
HBase prerequisiti del cluster
Un cluster creato utilizzando le versioni 2.x e 3.x dell'AMI Amazon EMR deve soddisfare i seguenti requisiti per. HBase
-
Il AWS CLI (opzionale): per interagire con HBase la riga di comando, scarica e installa la versione più recente di. AWS CLI Per ulteriori informazioni, consulta Installazione dell' AWS Command Line Interface nella Guida per l'utente dell'AWS Command Line Interface .
-
Almeno due istanze (opzionale): il nodo master del cluster esegue il server HBase master e Zookeeper, mentre i nodi task eseguono i server regionali. HBase Per ottenere prestazioni ottimali, HBase i cluster devono essere eseguiti su almeno due EC2 istanze, ma è possibile eseguirli HBase su un singolo nodo a scopo di valutazione.
-
Cluster a lunga durata: viene eseguito HBase solo su cluster a esecuzione prolungata. Per impostazione predefinita, la CLI e la console di Amazon EMR creano cluster di lunga durata.
-
Un set di coppie di EC2 chiavi Amazon (consigliato): per utilizzare il protocollo di rete Secure Shell (SSH) per connetterti al nodo master ed eseguire comandi HBase shell, devi usare una coppia di EC2 chiavi Amazon quando crei il cluster.
-
Le versioni AMI e Hadoop corrette: HBase i cluster sono attualmente supportati solo su Hadoop 20.205 o versioni successive.
-
Ganglia (opzionale): per monitorare le metriche HBase delle prestazioni, installa Ganglia quando crei il cluster.
-
Un bucket Amazon S3 per i log (opzionale): i log per HBase sono disponibili sul nodo master. Per copiare questi log in Amazon S3, specifica un bucket S3 per ricevere i file di log alla creazione del cluster.
Creazione di un cluster con HBase
La tabella seguente elenca le opzioni disponibili quando si utilizza la console per creare un cluster HBase utilizzando una versione di release AMI Amazon EMR.
Campo | Azione |
---|---|
Restore from backup (Ripristina da backup) | Specificare se precaricare il HBase cluster con i dati archiviati in Amazon S3. |
Backup location (Posizione backup) | Specifica l'URI in cui il backup per il ripristino risiede in Amazon S3. |
Backup version (Versione backup) | Eventualmente, specificare il nome della versione del backup in Backup Location (Posizione backup) che si intende utilizzare. Se lasci vuoto questo campo, Amazon EMR utilizza il backup più recente in Backup Location per popolare il nuovo cluster. HBase |
Schedule Regular Backups (Pianifica backup regolari) | Specificare se pianificare backup incrementali automatici. Il primo backup è un backup completo per creare una baseline per i backup incrementali successivi. |
Consistent backup (Backup coerente) | Specificare se i backup devono essere coerenti. Un backup coerente è un backup che sospende le operazioni di scrittura durante la fase di backup iniziale, ovvero la sincronizzazione dei nodi. Tutte le operazioni di scrittura sospese sono inserite in una coda e ripristinate al termine della sincronizzazione. |
Backup frequency (Frequenza backup) | Il numero di backup pianificati days/hours/minutes tra un backup e l'altro. |
Backup location (Posizione backup) | L'URI di Amazon S3 in cui vengono archiviati i backup. La posizione di backup per ogni HBase cluster deve essere diversa per garantire che i backup differenziali rimangano corretti. |
Backup start time (Orario di avvio backup) | Specificare quando deve iniziare il primo backup. Specificare now per iniziare il primo backup non appena il cluster viene eseguito oppure immettere una data e un'ora in formato ISO |
Il AWS CLI comando di esempio seguente avvia un cluster con HBase e altre applicazioni:
Nota
I caratteri di continuazione della riga Linux (\) sono inclusi per questioni di leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuovili o sostituiscili con un accento circonflesso (^).
aws emr create-cluster --name "
Test cluster
" --ami-version3.3
\ --applications Name=Hue
Name=Hive
Name=Pig
Name=HBase
\ --use-default-roles --ec2-attributes KeyName=myKey
\ --instance-typec1.xlarge
--instance-count3
--termination-protected
Dopo aver effettuato la connessione tra Hive e HBase i cluster (come mostrato nella procedura precedente), puoi accedere ai dati archiviati nel HBase cluster creando una tabella esterna in Hive.
L'esempio seguente, se eseguito dal prompt di Hive, crea una tabella esterna che fa riferimento ai dati memorizzati in una tabella chiamata. HBase inputTable
È quindi possibile fare riferimento inputTable
nelle istruzioni Hive per interrogare e modificare i dati archiviati nel cluster. HBase
Nota
L'esempio seguente utilizza protobuf-java-2.4.0a.jar nell'AMI 2.3.3, ma devi modificare l'esempio affinché corrisponda alla versione utilizzata. Per determinare qual è la versione in uso del file JAR dei buffer di protocollo, esegui il comando dal prompt dei comandi Hive: ! ls /home/hadoop/lib;
.
add jar lib/emr-metrics-1.0.jar ; add jar lib/protobuf-java-2.4.0a.jar ; set hbase.zookeeper.quorum=ec2-107-21-163-157.compute-1.amazonaws.com ; create external table inputTable (key string, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping" = ":key,f1:col1") tblproperties ("hbase.table.name" = "t1"); select count(*) from inputTable ;
Personalizzazione HBase della configurazione
Sebbene le impostazioni predefinite dovrebbero funzionare per la maggior parte delle applicazioni, hai la flessibilità di modificare le impostazioni di HBase configurazione. A questo proposito, esegui uno dei due script di operazione di bootstrap:
-
configure-hbase-daemons—Configura le proprietà dei demoni master, regionserver e zookeeper. Queste proprietà includono la dimensione dell'heap e le opzioni da passare alla Java Virtual Machine (JVM) all'avvio del demone. HBase Puoi impostare queste proprietà come argomenti nell'operazione di bootstrap. Questa azione di bootstrap modifica il file di configurazione/home/hadoop/conf/hbase-user-env.sh sul cluster. HBase
-
configure-hbase: configura le impostazioni HBase specifiche del sito, come la porta a cui il HBase master deve collegarsi e il numero massimo di volte in cui il client CLI client deve ritentare un'azione. Puoi impostarli one-by-one, come argomenti nell'azione bootstrap, oppure puoi specificare la posizione di un file di configurazione XML in Amazon S3. Questa azione di bootstrap modifica il file di configurazione/home/hadoop/conf/hbase-site.xml sul cluster. HBase
Nota
Questi script, come altre azioni di bootstrap, possono essere eseguiti solo quando viene creato il cluster; non è possibile utilizzarli per modificare la configurazione di un HBase cluster attualmente in esecuzione.
Quando esegui le azioni configure-hbase o configure-hbase-daemonsbootstrap, i valori specificati hanno la precedenza sui valori predefiniti. Ai parametri non impostati in modo esplicito sono assegnati i valori di default.
La configurazione HBase con queste azioni di bootstrap è analoga all'utilizzo delle azioni di bootstrap in Amazon EMR per configurare le impostazioni Hadoop e le proprietà del demone Hadoop. La differenza è che non sono disponibili opzioni di memoria per processo. HBase Invece, le opzioni di memoria vengono impostate utilizzando l'--
argomento, dove daemon
-optsdaemon
viene sostituito dal nome del demone da configurare.
Configura i demoni HBase
Amazon EMR fornisce un'azione di bootstrap che puoi usare per modificare la configurazione dei HBase daemon, dove si region
trova la regione in cui stai lanciando il cluster. s3://
HBase region
.elasticmapreduce/bootstrap-actions/configure-hbase-daemons
Per configurare HBase i demoni utilizzando AWS CLI, aggiungi l'azione configure-hbase-daemons
bootstrap all'avvio del cluster per configurare uno o più daemon. HBase Puoi impostare le seguenti proprietà:
Proprietà | Descrizione |
---|---|
hbase-master-opts |
Opzioni che controllano il modo in cui la JVM esegue il daemon master. Se impostate, sovrascrivono le variabili HBASE_MASTER_OPTS di default. |
regionserver-opts |
Opzioni che controllano il modo in cui la JVM esegue il daemon del server di regione. Se impostate, sovrascrivono le variabili HBASE_REGIONSERVER_OPTS di default. |
zookeeper-opts |
Opzioni che controllano il modo in cui la JVM esegue il daemon zookeeper. Se impostate, sovrascrivono le variabili HBASE_ZOOKEEPER_OPTS di default. |
Per ulteriori informazioni su queste opzioni, consultate hbase-env.sh nella documentazione.
Un'operazione di bootstrap per configurare i valori per zookeeper-opts
e hbase-master-opts
è illustrata nell'esempio seguente.
Nota
I caratteri di continuazione della riga Linux (\) sono inclusi per la leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuovili o sostituiscili con un accento circonflesso (^).
aws emr create-cluster --name "
Test cluster
" --ami-version3.3
\ --applications Name=Hue
Name=Hive
Name=Pig
Name=HBase
\ --use-default-roles --ec2-attributes KeyName=myKey
\ --instance-typec1.xlarge
--instance-count3
--termination-protected \ --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hbase-daemons
,\ Args=["--hbase-zookeeper-opts=-Xmx1024m -XX:GCTimeRatio=19","--hbase-master-opts=-Xmx2048m","--hbase-regionserver-opts=-Xmx4096m"
]
Configurare le impostazioni del HBase sito
Amazon EMR fornisce un'azione di bootstrap che puoi usare per modificare la configurazione di. s3://elasticmapreduce/bootstrap-actions/configure-hbase
HBase Puoi impostare valori di configurazione one-by-one, come argomenti nell'azione bootstrap, oppure puoi specificare la posizione di un file di configurazione XML in Amazon S3. L'impostazione dei valori di configurazione one-by-one è utile se è necessario impostare solo alcune impostazioni di configurazione. L'impostazione mediante un file XML è utile se devi apportare numerose modifiche oppure se intendi salvare le impostazioni di configurazione per un riutilizzo futuro.
Nota
Puoi aggiungere un prefisso regionale al nome del bucket Amazon S3, ad esempio s3://
region
.elasticmapreduce/bootstrap-actions/configure-hbaseregion
dov'è la regione in cui stai lanciando il cluster. HBase
Questa azione di bootstrap modifica il file di configurazione sul cluster. /home/hadoop/conf/hbase-site.xml
HBase L'azione bootstrap può essere eseguita solo all'avvio del HBase cluster.
Per ulteriori informazioni sulle impostazioni del HBase sito che puoi configurare, consulta Configurazione predefinita
Imposta l'azione configure-hbase
bootstrap all'avvio del HBase cluster e specifica i valori hbase-site.xml
da modificare.
Per specificare le impostazioni dei singoli HBase siti utilizzando AWS CLI
-
Per modificare l'
hbase.hregion.max.filesize
impostazione, digita il seguente comando emyKey
sostituiscilo con il nome della tua coppia di EC2 chiavi Amazon.Nota
I caratteri di continuazione della riga Linux (\) sono inclusi per questioni di leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuovili o sostituiscili con un accento circonflesso (^).
aws emr create-cluster --name "
Test cluster
" --ami-version3.3
\ --applications Name=Hue
Name=Hive
Name=Pig
Name=HBase
\ --use-default-roles --ec2-attributes KeyName=myKey
\ --instance-typec1.xlarge
--instance-count3
--termination-protected \ --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hbase
,Args=["-s","hbase.hregion.max.filesize=52428800"
]
Per specificare le impostazioni del HBase sito con un file XML utilizzando il AWS CLI
-
Creare una versione personalizzata di
hbase-site.xml
. Il file personalizzato devono essere un file XML valido. Per ridurre la possibilità di introdurre errori, inizia con la copia predefinita dihbase-site.xml
, situata sul nodo HBase master di Amazon EMR all'indirizzo/home/hadoop/conf/hbase-site.xml
, e modifica una copia di quel file anziché crearne uno da zero. È possibile assegnare un nuovo nome al file oppure mantenere il nomehbase-site.xml
. -
Carica il file
hbase-site.xml
personalizzato in un bucket Amazon S3. Le autorizzazioni devono essere impostate in modo che l' AWS account che avvia il cluster possa accedere al file. Se l' AWS account che avvia il cluster possiede anche il bucket Amazon S3, ha accesso. -
Imposta l'azione bootstrap configure-hbase all'avvio del HBase cluster e includi la posizione del file personalizzato.
hbase-site.xml
L'esempio seguente imposta i valori di configurazione del HBase sito su quelli specificati nel file.s3://amzn-s3-demo-bucket/my-hbase-site.xml
Digita il seguente comando,myKey
sostituiscilo con il nome della tua coppia di EC2 key pair eamzn-s3-demo-bucket
sostituiscilo con il nome del tuo bucket Amazon S3.Nota
I caratteri di continuazione della riga Linux (\) sono inclusi per questioni di leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuovili o sostituiscili con un accento circonflesso (^).
aws emr create-cluster --name "
Test cluster
" --ami-version3.3
\ --applications Name=Hue
Name=Hive
Name=Pig
Name=HBase
\ --use-default-roles --ec2-attributes KeyName=myKey
\ --instance-typec1.xlarge
--instance-count3
--termination-protected \ --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hbase
,Args=["--site-config-file","s3://amzn-s3-demo-bucket/config.xml"
]Se specifichi più di un'opzione per personalizzare l' HBase operazione, devi anteporre a ciascuna coppia chiave-valore un interruttore di
-s
opzione, come mostrato nell'esempio seguente:--bootstrap-actions
s3://elasticmapreduce/bootstrap-actions/configure-hbase
,Args=["-s","zookeeper.session.timeout=60000"
]
Con il proxy impostato e la connessione SSH aperta, è possibile visualizzare l' HBase interfaccia utente aprendo una finestra del browser con http: //:60010/master-statusmaster-public-dns-name
, dove si trova l'indirizzo DNS pubblico del nodo master master-public-dns-name
nel cluster. HBase
È possibile visualizzare i HBase log correnti utilizzando SSH per connettersi al nodo master e navigare nella directory. mnt/var/log/hbase
Questi file di log non sono disponibili dopo che il cluster viene terminato a meno che non si abiliti la registrazione in Amazon S3 quando il cluster viene avviato.
Eseguire il backup e il ripristino HBase
Amazon EMR offre la possibilità di eseguire il backup HBase dei dati su Amazon S3, manualmente o secondo una pianificazione automatizzata. Puoi eseguire backup completi e incrementali. Dopo aver creato una versione di backup dei HBase dati, puoi ripristinare quella versione in un cluster. HBase È possibile eseguire il ripristino in un HBase cluster attualmente in esecuzione o avviare un nuovo cluster prepopolato con dati di backup.
Durante il processo di backup, HBase continua a eseguire comandi di scrittura. Ciò garantisce la disponibilità del cluster durante il backup, ma anche il rischio di inconsistenze tra i dati sottoposti a backup e le operazioni di scrittura eseguite in parallelo. Per comprendere le incongruenze che potrebbero insorgere, è necessario considerare che HBase distribuisce le operazioni di scrittura tra i nodi del cluster. Se un'operazione di scrittura viene eseguita dopo il polling di un determinato nodo, quei dati non sono inclusi nell'archivio di backup. Potresti anche scoprire che le scritture precedenti sul HBase cluster (inviate a un nodo su cui è già stato effettuato il polling) potrebbero non essere presenti nell'archivio di backup, mentre le scritture successive (inviate a un nodo prima del polling) sono incluse.
Se è necessario un backup coerente, è necessario sospendere le scritture HBase durante la parte iniziale del processo di backup, vale a dire la sincronizzazione tra i nodi. Puoi eseguire questa operazione specificando il parametro --consistent
quando richiedi un backup. Con tale parametro, le operazioni di scrittura in questo periodo vengono messe in coda ed eseguite subito dopo il termine della sincronizzazione. Puoi anche pianificare backup ricorrenti e quindi risolvere eventuali incoerenze nel tempo, in quanto i dati non inclusi in un ciclo di backup sono inclusi in quello successivo.
Quando si esegue il backup HBase dei dati, è necessario specificare una directory di backup diversa per ogni cluster. Un modo semplice di eseguire questa operazione è utilizzare l'identificatore del cluster come parte del percorso specificato per la directory di backup. Ad esempio, s3://amzn-s3-demo-bucket/backups/j-3AEXXXXXX16F2
. Ciò garantisce che tutti i futuri backup incrementali facciano riferimento al cluster corretto HBase .
Quando sei pronto per eliminare i vecchi file di backup che non sono più necessari, ti consigliamo di eseguire prima un backup completo dei tuoi HBase dati. Questa operazione assicura la conservazione di tutti i dati e fornisce una baseline per i backup incrementali successivi. Al termine del backup completo, puoi accedere alla directory di backup ed eliminare manualmente i vecchi file di backup.
Il processo HBase di backup utilizza S3 DistCp per l'operazione di copia, che presenta alcune limitazioni relative allo spazio di archiviazione temporaneo dei file.
Esegui il backup e il ripristino HBase utilizzando la console
La console offre la possibilità di avviare un nuovo cluster e popolarlo con i dati di un HBase backup precedente. Offre inoltre la possibilità di pianificare backup incrementali periodici dei dati. HBase Altre funzionalità di backup e ripristino, come la possibilità di ripristinare dati in un cluster già in esecuzione, di eseguire backup manuali e pianificare backup completi automatici, sono disponibili tramite la CLI.
Per popolare un nuovo cluster con dati archiviati utilizzando la console HBase
Passa alla nuova console Amazon EMR e seleziona Passa alla vecchia console dalla barra di navigazione laterale. Per ulteriori informazioni su cosa aspettarti quando passi alla vecchia console, consulta Utilizzo della vecchia console.
-
Scegli Create cluster (Crea cluster).
-
Nella sezione Configurazione software, per Applicazioni aggiuntive, scegli HBasee configura e aggiungi.
-
Nella finestra di dialogo Add Application (Aggiungi applicazione), selezionare Restore From Backup (Ripristina da backup).
-
Per Posizione di backup, specificare la posizione del backup da caricare nel nuovo HBase cluster. Dovrebbe trattarsi di un URL Amazon S3 nel formato
s3://amzn-s3-demo-bucket/backups/
. -
Per Backup Version (Versione backup), si ha possibilità di specificare il nome di una versione di backup da caricare impostando un valore. Se non si imposta un valore per Backup Version (Versione backup), Amazon EMR carica il backup più recente nel percorso specificato.
-
Scegliere Add (Aggiungi) e procedere alla creazione del cluster con altre opzioni, se necessario.
Per pianificare backup automatici dei HBase dati utilizzando la console
-
Nella sezione Configurazione software, per Applicazioni aggiuntive, scegli, configura HBasee aggiungi.
-
Scegliere Schedule Regular Backups (Pianifica backup regolari).
-
Specificare se i backup devono essere coerenti. Un backup coerente è un backup che sospende le operazioni di scrittura durante la fase di backup iniziale, ovvero la sincronizzazione dei nodi. Tutte le operazioni di scrittura sospese sono inserite in una coda e ripristinate al termine della sincronizzazione.
-
Impostare la frequenza dei backup immettendo un numero per Backup Frequency (Frequenza backup) e scegliendo Days (Giorni), Hours (Ore)o Minutes (Minuti). Il primo backup automatico che viene eseguito è un backup completo; successivamente, Amazon EMR salva backup incrementali in base alla pianificazione specificata.
-
Specifica il percorso in Amazon S3 in cui i backup devono essere archiviati. È necessario eseguire il backup di ogni HBase cluster in una posizione separata in Amazon S3 per garantire che i backup incrementali vengano calcolati correttamente.
-
Specificare quando deve verificarsi il primo backup impostando un valore per Backup Start Time (Orario di avvio backup). Specificare
now
per iniziare il primo backup non appena il cluster viene eseguito oppure immettere una data e un'ora in formato ISO. Ad esempio, impostando 2013-09-26T20:00Z, il backup ha inizio il 26 settembre 2013 alle 20.00 UTC. -
Scegli Aggiungi.
-
Procedere con la creazione del cluster con altre opzioni, se necessario.
Monitora con HBase CloudWatch
Amazon EMR riporta tre parametri CloudWatch che puoi utilizzare per monitorare i tuoi backup. HBase Questi parametri vengono aggiornati a CloudWatch intervalli di cinque minuti e vengono forniti gratuitamente.
Parametro | Descrizione |
---|---|
HBaseBackupFailed |
Se l'ultimo backup non è riuscito. È impostato su 0 per impostazione predefinita e diventa 1 se il tentativo di backup precedente non riesce. Questa metrica viene riportata solo per i cluster. HBase Caso d'uso: monitoraggio dei backup HBase Unità: numero |
HBaseMostRecentBackupDuration |
Il tempo necessario per il completamento del backup precedente. Questo parametro viene impostato indipendentemente dalla riuscita o meno dell'ultimo backup completato. Durante l'esecuzione del backup, questo parametro restituisce il numero di minuti trascorsi dopo l'avvio del backup. Questa metrica viene riportata solo per i HBase cluster. Caso d'uso: monitoraggio dei backup HBase Unità: minuti |
HBaseTimeSinceLastSuccessfulBackup |
Il numero di minuti trascorsi dall'avvio dell'ultimo HBase backup riuscito sul cluster. Questa metrica viene riportata solo per i cluster. HBase Caso d'uso: monitoraggio dei backup HBase Unità: minuti |
Configura Ganglia per HBase
Si configura Ganglia per l' HBase utilizzo dell'azione configure-hbase-for-gangliabootstrap. Questa azione bootstrap configura la pubblicazione di metriche HBase su Ganglia.
È necessario configurare HBase Ganglia all'avvio del cluster; i report Ganglia non possono essere aggiunti a un cluster in esecuzione.
Ganglia archivia anche i file di log sul server all'indirizzo /mnt/var/log/ganglia/rrds
. Se hai configurato il cluster per mantenere i file di log in un bucket Amazon S3, i file di log Ganglia vengono mantenuti anche in questo percorso.
Per avviare un cluster con Ganglia for HBase, usa l'azione configure-hbase-for-gangliabootstrap come mostrato nell'esempio seguente.
Nota
I caratteri di continuazione della riga Linux (\) sono inclusi per questioni di leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuoverli o sostituirli con un accento circonflesso (^).
aws emr create-cluster --name "
Test cluster
" --ami-version3.3
\ --applications Name=Hue
Name=Hive
Name=Pig
Name=HBase
Name=Ganglia
\ --use-default-roles --ec2-attributes KeyName=myKey
\ --instance-typec1.xlarge
--instance-count3
--termination-protected \ --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hbase-for-ganglia
Dopo che il cluster viene avviato con Ganglia configurato, puoi accedere ai grafici e ai report Ganglia utilizzando l'interfaccia grafica in esecuzione sul nodo master.