

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Migración desde versiones anteriores HBase
<a name="emr-hbase-migrate"></a>

Para migrar datos de una HBase versión anterior, consulte [Actualización](https://hbase.apache.org/book.html#upgrading), [número de HBase versión y compatibilidad](https://hbase.apache.org/book.html#hbase.versioning) en la Guía de HBase referencia de Apache. Es posible que deba prestar especial atención a los requisitos para actualizar desde versiones anteriores a la 1.0 de. HBase

## Migración a Amazon EMR versión 7.4.0 o posterior
<a name="emr-hbase-migrate-versions"></a>

**nota**  
Siga estas pautas si va a migrar de una versión EMR anterior a la 7.4.0 a una versión posterior a la 7.3.0.

Si actualmente utiliza una versión de EMR con la característica de seguimiento de archivos de tienda de Amazon habilitada, que se incluye en las versiones 6.2.0 a 7.3.0, y quiere actualizar a una versión con OSS Store File Tracking, que está disponible en las versiones de EMR posteriores a la 7.3.0, siga estos pasos:

1. En el clúster existente:

   1. Deshabilite la tabla `hbase:storefile`.

   1. Elimine la tabla `hbase:storefile`.

   1. Vacíe `hbase:meta`.

   1. Espere a que se actualicen los metadatos.

1. En el nuevo clúster:

   1. Establezca el mismo directorio de Amazon S3 que el directorio raíz.

   1. Inicie el clúster con la implementación de `DefaultStoreFileTracker`:

      ```
      {
        "Classification": "hbase-site",
        "Properties": {
          hbase.store.file-tracker.impl: "org.apache.hadoop.hbase.regionserver.storefiletracker.DefaultStoreFileTracker"
         }
      }
      ```

   1. A nivel de familia de tablas o columnas, use los siguientes comandos para cambiar el rastreador de archivos del almacén:

      1. Cambie el Store File Tracker de la tabla o familia de columnas de la tabla:

         ```
         hbase> change_sft 't1','FILE'
         hbase> change_sft 't2','cf1','FILE'
         ```

      1. Cambie todos los registros de archivos almacenados de la tabla que coincidan con la expresión regular (regex) dada:

         ```
         hbase> change_sft_all 't.*','FILE'
         hbase> change_sft_all 'ns:.*','FILE'
         hbase> change_sft_all 'ns:t.*','FILE'
         ```

## Migración de clústeres de HBase Amazon S3 a la versión 7.12.0 o posterior de Amazon EMR mediante clústeres de lectura y réplica
<a name="emr-hbase-migrate-s3-read-replica"></a>

A partir de EMR 7.12.0, puede cambiar una réplica de lectura HBase en un clúster de Amazon S3 del modo de solo lectura al modo activo, lo que permite realizar operaciones de lectura y escritura. Esta funcionalidad se proporciona mediante dos nuevos comandos de shell. HBase 

1. `readonly_state`

   Recupera el estado operativo de lectura-escritura actual del clúster.

   Salida:
   + INACTIVO: el clúster está en modo de solo lectura y la escritura está inactiva.
   + ACTIVO: el clúster admite operaciones de lectura y escritura.

1. `readonly_switch`

   Activa o deshabilita el modo de solo lectura con opciones configurables para el proceso de conmutación.

   Sintaxis:

   ```
   readonly_switch <readonly>,<force_flush>,<force_refresh_meta>,<force_refresh_hfile>
   ```

   Parámetros:
   + solo lectura (obligatorio): valor booleano para habilitar (verdadero) o deshabilitar (falso) el modo de solo lectura
   + force\$1flush (opcional): fuerza el vaciado de los datos antes de pasar del modo activo al de solo lectura (predeterminado: true)
   + force\$1refresh\$1meta (opcional): fuerza la actualización de la metatabla al cambiar del modo de solo lectura al modo activo (predeterminado: true)
   + force\$1refresh\$1hfile (opcional): fuerza la actualización al cambiar del modo de solo lectura al modo activo (predeterminado: true HFile )

### Pasos para realizar la migración
<a name="emr-hbase-migrate-s3-steps"></a>

Si actualmente ejecuta un clúster EMR 6.0.0\$1 en Amazon HBase S3 y desea migrar a un clúster EMR 7.12.0 o posterior, siga estos pasos:

1. Asegúrese de que su clúster de origen esté en un estado estable y sin inconsistencias mediante el informe hbck o los procedimientos bloqueados de la interfaz de usuario maestra. HBase 

   ```
   sudo -u hbase hbase hbck > hbck_report.txt
   ```

1. Asegúrese de que no haya regiones en estado DIVIDIDO en el clúster de origen:

   1. Si hay regiones en estado DIVIDIDO, ejecute compactaciones importantes en las tablas correspondientes y espere a que se completen

      ```
      major_compact <table_name>
      ```

   1. Una vez `catalogjanitor_run` finalizada la compactación, colóquelas en la HBase cáscara

1. Cree un nuevo clúster EMR 7.12.0\$1 configurado como réplica de lectura que apunte a la misma ubicación de Amazon S3 que el clúster de origen. Consulte este [blog](https://aws.amazon.com/blogs/big-data/setting-up-read-replica-clusters-with-hbase-on-amazon-s3/) para obtener más información sobre cómo configurar un clúster de réplica de lectura. Inicie el nuevo clúster con la DefaultStoreFileTracker configuración que se menciona en los pasos anteriores si desea actualizar al sistema de seguimiento de archivos de OSS Store.

1. Espere a que el nodo principal se inicialice por completo. Compruebe la accesibilidad de los datos leyendo las tablas y confirme que el nuevo clúster está en modo de solo lectura

   ```
   hbase:001:0> readonly_state
   Took 0.4612 seconds
   => "INACTIVE"
   ```

1. Deshabilite el equilibrio y la compactación en el clúster de origen:

   ```
   echo "balance_switch false" | hbase shell
   echo "compaction_switch false" | hbase shell
   ```

1. Asegúrese de que no overlaps/inconsistencies aparezca nada en la interfaz de usuario del clúster de lectura y réplica y compruebe que las regiones muestran el estado ABIERTO y están asignadas correctamente.

1. Convierta el seguimiento de archivos de la tienda mediante los comandos del clúster de lectura-réplica mencionados en la sección anterior si desea cambiarlo a uno. FileBasedTracker

1. Detenga los trabajos que apuntan al clúster de origen, vacíe todas las tablas y cierre el clúster de origen. Espere a que finalice por completo antes de continuar.

   ```
   echo "flush 'usertable'" | hbase shell
   echo "flush 'hbase:meta'" | hbase shell
   echo "flush 'hbase:namespace'" | hbase shell
   ```

1. Cambie el clúster de lectura-réplica al modo activo para habilitar las operaciones de escritura. Tras completar este paso, el nuevo clúster admitirá operaciones de lectura y escritura, y la migración estará completa.

   ```
   hbase:010:0> readonly_switch false
   Took 38.1568 seconds
   ```

1. Valide las escrituras en el nuevo clúster y asegúrese de que todas las regiones atiendan las solicitudes.

**nota**  
Solo puede haber un clúster activo que apunte a una ubicación de Amazon S3 en cualquier momento. Por lo tanto, cambiar la réplica de lectura a activa solo debe realizarse después de que se haya terminado el clúster de origen.