

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Migrando de versões anteriores HBase
<a name="emr-hbase-migrate"></a>

Para migrar dados de uma HBase versão anterior, consulte [Atualização](https://hbase.apache.org/book.html#upgrading), [número da HBase versão e compatibilidade](https://hbase.apache.org/book.html#hbase.versioning) no Guia de referência do Apache HBase . Talvez seja necessário prestar atenção especial aos requisitos de atualização das versões anteriores à 1.0 do. HBase

## Migração para o Amazon EMR versão 7.4.0 ou posterior
<a name="emr-hbase-migrate-versions"></a>

**nota**  
Siga estas diretrizes se estiver migrando de uma versão do EMR anterior à 7.4.0 para uma superior à 7.3.0.

Se você estiver executando uma versão do EMR com o recurso Rastreamento de arquivos de armazenamento da Amazon habilitado, incluído nas versões 6.2.0 a 7.3.0, e quiser fazer upgrade para uma versão com Rastreamento de arquivos de armazenamento OSS, disponível nas versões do EMR posteriores à 7.3.0, siga estas etapas:

1. No cluster existente:

   1. Desabilite a tabela `hbase:storefile`.

   1. Descarte a tabela `hbase:storefile`.

   1. Descarregue `hbase:meta`.

   1. Aguarde até que os metadados sejam atualizados.

1. No novo cluster:

   1. Defina o mesmo diretório do Amazon S3 como o diretório raiz.

   1. Inicie o cluster com a implementação de `DefaultStoreFileTracker`:

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

   1. No nível da tabela ou do grupo de colunas, use os seguintes comandos para alterar o rastreador de arquivos de armazenamento:

      1. Altere o Rastreador de arquivos de armazenamento da tabela ou da família de colunas da tabela:

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

      1. Altere todos os Rastreadores de arquivos de armazenamento da tabela que correspondam à expressão regular (regex) fornecida:

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

## Migração HBase em clusters do Amazon S3 para o Amazon EMR versão 7.12.0 ou posterior usando clusters Read-Replica
<a name="emr-hbase-migrate-s3-read-replica"></a>

A partir do EMR 7.12.0, você pode alternar uma réplica de leitura HBase no cluster Amazon S3 do modo somente leitura para o modo ativo, permitindo operações de leitura e gravação. Essa funcionalidade é fornecida por meio de dois novos comandos HBase shell.

1. `readonly_state`

   Recupera o estado operacional atual de leitura e gravação do cluster.

   Saída:
   + INATIVO - O cluster está no modo somente leitura e a gravação está inativa.
   + ATIVO - O cluster suporta operações de leitura e gravação.

1. `readonly_switch`

   Ativa ou desativa o modo somente leitura com opções configuráveis para o processo de comutação.

   Sintaxe:

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

   Parâmetros:
   + somente leitura (obrigatório) - valor booleano para ativar (verdadeiro) ou desativar (falso) o modo somente leitura
   + force\$1flush (opcional) - Força a liberação dos dados antes de mudar do modo ativo para o modo somente leitura (padrão: true)
   + force\$1refresh\$1meta (opcional) - Força a atualização da metatabela ao mudar do modo somente leitura para o ativo (padrão: true)
   + force\$1refresh\$1hfile (opcional) - Força a HFile atualização ao alternar do modo somente leitura para o ativo (padrão: true)

### Etapas da migração
<a name="emr-hbase-migrate-s3-steps"></a>

Se você estiver executando atualmente um EMR 6.0.0\$1 no cluster Amazon HBase S3 e quiser migrar para um cluster do EMR 7.12.0 ou posterior, siga estas etapas:

1. Garanta que seu cluster de origem esteja em um estado estável, sem inconsistências, usando o relatório hbck ou procedimentos bloqueados da interface principal. HBase 

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

1. Verifique se não há regiões no estado SPLIT no cluster de origem:

   1. Se houver regiões no estado SPLIT, execute as principais compactações nas respectivas tabelas e espere que elas sejam concluídas

      ```
      major_compact <table_name>
      ```

   1. Execute `catalogjanitor_run` na HBase casca após a conclusão da compactação

1. Crie um novo cluster do EMR 7.12.0\$1 configurado como uma réplica de leitura apontando para a mesma localização do Amazon S3 do seu cluster de origem. Consulte este [blog](https://aws.amazon.com/blogs/big-data/setting-up-read-replica-clusters-with-hbase-on-amazon-s3/) para obter mais detalhes sobre como configurar um cluster de réplica de leitura. Inicie o novo cluster com a DefaultStoreFileTracker configuração mencionada nas etapas acima se quiser fazer o upgrade para o rastreamento de arquivos do OSS Store.

1. Aguarde até que o nó principal seja inicializado completamente. Verifique a acessibilidade dos dados lendo as tabelas e confirme se o novo cluster está no modo somente leitura

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

1. Desative o balanceamento e as compactações no cluster de origem:

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

1. Certifique-se de que não overlaps/inconsistencies apareçam na interface de usuário do cluster de réplica de leitura e verifique se as regiões mostram o status OPEN e estão atribuídas corretamente.

1. Converta o rastreamento de arquivos do Store usando os comandos no cluster read-replica mencionado na seção acima se quiser mudar para. FileBasedTracker

1. Pare os trabalhos que apontam para o cluster de origem, limpe todas as tabelas e encerre o cluster de origem. Aguarde a rescisão completa antes de continuar.

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

1. Mude o cluster de réplica de leitura para o modo ativo para permitir operações de gravação. Depois de concluir essa etapa, seu novo cluster suportará operações de leitura e gravação, e a migração será concluída.

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

1. Valide as gravações no novo cluster e garanta que todas as regiões estejam atendendo às solicitações.

**nota**  
Só pode haver um cluster ativo apontando para uma localização do Amazon S3 em qualquer momento. Portanto, a mudança da réplica de leitura para ativa deve ser feita somente após o encerramento do cluster de origem.