View a markdown version of this page

Migrando de versões anteriores HBase - Amazon EMR

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

Para migrar dados de uma HBase versão anterior, consulte Atualização, número da HBase versão e compatibilidade 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

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.

    2. Descarte a tabela hbase:storefile.

    3. Descarregue hbase:meta.

    4. Aguarde até que os metadados sejam atualizados.

  2. No novo cluster:

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

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

  2. 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_flush (opcional) - Força a liberação dos dados antes de mudar do modo ativo para o modo somente leitura (padrão: true)

    • force_refresh_meta (opcional) - Força a atualização da metatabela ao mudar do modo somente leitura para o ativo (padrão: true)

    • force_refresh_hfile (opcional) - Força a HFile atualização ao alternar do modo somente leitura para o ativo (padrão: true)

Etapas da migração

Se você estiver executando atualmente um EMR 6.0.0+ 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
  2. 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>
    2. Execute catalogjanitor_run na HBase casca após a conclusão da compactação

  3. Crie um novo cluster do EMR 7.12.0+ configurado como uma réplica de leitura apontando para a mesma localização do Amazon S3 do seu cluster de origem. Consulte este blog 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.

  4. 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"
  5. Desative o balanceamento e as compactações no cluster de origem:

    echo "balance_switch false" | hbase shell echo "compaction_switch false" | hbase shell
  6. 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.

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

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