View a markdown version of this page

Migración desde versiones anteriores HBase - Amazon EMR

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

Para migrar datos de una HBase versión anterior, consulte Actualización, número de HBase versión y compatibilidad 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

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.

    2. Elimine la tabla hbase:storefile.

    3. Vacíe hbase:meta.

    4. Espere a que se actualicen los metadatos.

  2. En el nuevo clúster:

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

    2. 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" } }
    3. 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'
      2. 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 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.

  2. 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_flush (opcional): fuerza el vaciado de los datos antes de pasar del modo activo al de solo lectura (predeterminado: true)

    • force_refresh_meta (opcional): fuerza la actualización de la metatabla al cambiar del modo de solo lectura al modo activo (predeterminado: true)

    • force_refresh_hfile (opcional): fuerza la actualización al cambiar del modo de solo lectura al modo activo (predeterminado: true HFile )

Pasos para realizar la migración

Si actualmente ejecuta un clúster EMR 6.0.0+ 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
  2. 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>
    2. Una vez catalogjanitor_run finalizada la compactación, colóquelas en la HBase cáscara

  3. Cree un nuevo clúster EMR 7.12.0+ 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 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.

  4. 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"
  5. 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
  6. 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.

  7. 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

  8. 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
  9. 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
  10. 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.