Backup

Introducción

Este manual describe los procesos para generar backups de HBase y restaurar la base de datos a partir de esos backups. El proceso para hacer backup de HBase está descrito en el Manual del Apache HBase, y este documento resalta las particularidades requeridas para realizar los backups de HBase del servidor GBDS.

Configuraciones

Los primeros pasos para realizar el backup de la base de datos comienzan en Sección 83.

En la sección 86, preste atención a las configuraciones, que son prerequisitos para el procedimiento.

Los procedimientos en la sección 86.2 deben ser ejecutados a través de la página de administración de Ambari:

http://<ambari-server>:8080/#/main/services/HBASE/configs

Para configurar el entorno para el backup, acceda al HBase a través de la página principal del Ambari, luego acceda a la pestaña de Configs y al menú Advanced para hacer las siguientes configuraciones:

  1. Ingrese al menú Advanced hbase-site y defina el valor de la propiedad hbase.coprocessor.region.classes a org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint,org.apache.hadoop.hbase.backup.BackupObserver

  2. Ingrese al menú Custom hbase-site y a través de la opción Add Property opción, agregue las siguientes propiedades:

    hbase.backup.enable

    Valor: true

    hbase.master.logcleaner.plugins

    Valor: org.apache.hadoop.hbase.backup.master.BackupLogCleaner

    hbase.procedure.master.classes

    Valor: org.apache.hadoop.hbase.backup.master.LogRollMasterProcedureManager

    hbase.procedure.regionserver.classes

    Valor: org.apache.hadoop.hbase.backup.regionserver.LogRollRegionServerProcedureManager

    hbase.master.hfilecleaner.plugins

    Valor: org.apache.hadoop.hbase.backup.BackupHFileCleaner

    hbase.regionserver.thread.compaction.small

    Valor: 3

Creando Backups

La Sección 87.1 describe la creación del archivo de backup, que se crea inicialmente dentro del HDFS y debe ser movido a un lugar fuera de las carpetas de HBase.

El siguiente comando se usa para crear el archivo de backup, ya sea completo o incremental:

hbase backup create <type> hdfs://<NAME-NODE-SERVER>:8020/<HDFS BACKUP DIR> -t anomalies,people,transactions,uls,unresolvedlatent,quality,transactionkeys -w 3

Las siguientes variables deben cambiarse de acuerdo con su entorno antes de ejecutar el comando anterior:

  • type

    Esta variable define si el backup que se creará será full o incremental.

  • NAME-NODE-SERVER

    Esta variable se refiere al Name-node server del entorno actual donde se creará el backup. Lo mismo ocurre con la exportación y restauración de backups.

  • HDFS BACKUP DIR

    Esta variable se refiere al directorio HDFS donde se almacenará el archivo de backup.

  • -t

    Este token se refiere y debe ser seguido por las tablas de HBase que serán incluidas en el archivo de backup. El ejemplo anterior contiene las tablas estándar que deben incluirse en el archivo de backup del GBDS.

  • -w

    Este token se refiere y debe ser seguido por el número de trabajadores que serán dedicados a la realización del backup.

El número predeterminado de réplicas que se crearán del archivo de backup es 3. Para cambiar este valor, ejecute el siguiente comando:

hdfs dfs -setrep -R 2 hdfs://<NAME-NODE-SERVER>:8020/<HDFS BACKUP DIR>

El HDFS BACKUP DIR debe tener la misma ruta usada como destino al crear el archivo de backup.

El token -setrep se refiere al nuevo factor de replicación que se está definiendo para el archivo de backup, y va seguido del token -R, que define la operación como recursiva (la misma operación se realizará para cualquier archivo o carpeta dentro de la ruta especificada), y el nuevo número de réplicas (en este caso, 2).

Exportando el Archivo de Backup

Para exportar un archivo de backup, se debe usar el siguiente comando para mover el archivo de backup a la unidad local, para luego ser movido a una fuente externa:

hdfs dfs -get hdfs://<NAME-NODE-SERVER>:8020/<HDFS> /<LOCAL-DRIVE-DIR>

Las variables de este comando se describen en Creando Backups.

La variable LOCAL-DRIVE-DIR debe cambiarse de acuerdo con la ruta en la unidad local donde se moverá el archivo de backup.

Restaurando Backups

La Sección 87.2 describe el proceso para restaurar la base de datos al estado anterior al backup.

Hay dos opciones para restaurar un archivo de backup: para el mismo entorno (sin exportar el archivo de backup del HDFS) y para un entorno diferente (importando un archivo de backup externo). Las secciones siguientes detallan ambos casos.

Restaurando al Mismo Entorno

El siguiente comando se usa para restaurar un backup dentro del mismo HDFS:

hbase backup history
hbase restore hdfs://<NAME-NODE-SERVER>:8020/<HDFS BACKUP DIR> <backup-id> -o -t anomalies,people,transactions,uls,unresolvedlatent,quality,transactionkeys

En el comando anterior, el HDFS BACKUP DIR debe ser cambiado de acuerdo con la ruta al archivo de backup que será restaurado. El backup-id debe ser el identificador único del backup que será restaurado.

El token -o define si los datos actuales deben ser sobrescritos por la restauración y el token -t se refiere a las tablas HBase que deben ser restauradas desde el backup.

Restaurando para un Entorno Diferente

Para restaurar el backup en un entorno diferente, el backup debe ser previamente exportado del entorno original de acuerdo con el proceso descrito en la sección Exportando el Archivo de Backup. Una vez que se mueve a la unidad local del nuevo entorno, debe colocarse en el HDFS mediante el siguiente comando:

hdfs dfs -put <LOCAL DRIVE BACKUP DIR> hdfs://<NAME-NODE-SERVER>:8020/<HDFS BACKUP DIR>

El LOCAL DRIVE BACKUP DIR debe ser la ruta dentro de la unidad local donde se encuentra el archivo de backup y el HDFS BACKUP DIR debe ser la ruta dentro del HDFS local donde se almacenará el backup. Una vez que el backup es importado, el proceso de restauración es el mismo descrito en Restaurando al Mismo Entorno.

Última actualización

¿Te fue útil?