Diretrizes e padrões de migração do Azure Data Lake Storage
É possível migrar dados, cargas de trabalho e aplicativos do Azure Data Lake Storage Gen1 para o Azure Data Lake Storage Gen2. Este artigo explica a abordagem de migração recomendada e aborda os diferentes padrões de migração e quando usar cada um. Para facilitar a leitura, este artigo usa o termo Gen1 para se referir a Azure Data Lake Storage Gen1 e o termo Gen2 para se referir a Azure Data Lake Storage Gen2.
Observação
O Azure Data Lake Storage Gen1 foi desativado. Veja o anúncio de aposentadoria aqui. Os recursos do Data Lake Storage Gen1 não estão mais acessíveis.
O Azure Data Lake Storage Gen2 é um conjunto de recursos dedicados à análise de Big Data, criado sobre o Armazenamento de Blobs do Azure. OAzure Data Lake Storage Gen2, combina recursos do Azure Data Lake Storage Gen1, tais como a semântica do sistema de arquivos, diretório e segurança e escala em nível de arquivo com armazenamento em camadas de baixo custo, alta disponibilidade/recursos de recuperação de desastre do Armazenamento de Blobs do Azure.
Observação
Como Gen1 e Gen2 são serviços diferentes, não há experiência de atualização in-loco. Para simplificar a migração para a Gen2 usando o portal do Azure, consulte Migrar o Azure Data Lake Storage da Gen1 para a Gen2 usando o portal do Azure.
Abordagem recomendada
Para migrar da Gen1 para a Gen2, recomendamos a seguinte abordagem.
Etapa 1: Avaliar a preparação
Etapa 2: Preparar para migrar
Etapa 3: Migrar dados e cargas de trabalho de aplicativos
Etapa 4: substituição do Gen1 pelo Gen2
Etapa 1: Avaliar a preparação
Saiba mais sobre a oferta do Data Lake Storage Gen2, os respectivos benefícios, os custos e a arquitetura geral.
Compare as funcionalidades do Gen1 com as do Gen2.
Examine uma lista de problemas conhecidos para avaliar qualquer lacuna na funcionalidade.
O Gen2 dá suporte para recursos de armazenamento de Blobs, como registro em log de diagnósticos, camadas de acesso e políticas de gerenciamento do ciclo de vida do armazenamento de Blobs. Se tiver interesse em usar qualquer um desses recursos, examine o nível de suporte atual.
Examine o estado atual do suporte de ecossistema do Azure para garantir que o Gen2 dê suporte a todos os serviços dos quais suas soluções dependem.
Etapa 2: Preparar para migrar
Identifique os conjuntos de dados que serão migrados.
Aproveite essa oportunidade para limpar os conjuntos de dados que não são mais usados. A menos que planeje migrar todos os dados ao mesmo tempo, reserve um tempo para identificar grupos lógicos de dados que podem ser migrados em fases.
Execute uma Análise de Envelhecimento (ou semelhante) em sua conta Gen1 para identificar quais arquivos ou pastas permanecem no inventário por muito tempo ou talvez estejam se tornando obsoletos.
Determine o impacto que uma migração terá em sua empresa.
Por exemplo, considere se pode arcar com algum tempo de inatividade enquanto a migração ocorre. Essas considerações podem ajudar a identificar um padrão de migração adequado e a escolher as ferramentas mais apropriadas.
Crie um projeto de migração.
Recomendamos esses padrões de migração. É possível escolher um desses padrões, combiná-los juntos ou criar um padrão personalizado por conta própria.
Etapa 3: Migrar dados, cargas de trabalho e aplicativos
Migre dados, cargas de trabalho e aplicativos usando o padrão que preferir. Recomendamos que valide cenários de forma incremental.
Crie uma conta de armazenamento e habilite o recurso de namespace hierárquico.
Migrar os dados.
Configure serviços nas cargas de trabalho para apontar para o ponto de extremidade do Gen2.
No caso de clusters HDInsight, você pode adicionar configurações de conta de armazenamento ao arquivo %HADOOP_HOME%/conf/core-site.xml. Se você planeja migrar tabelas do Hive externas de Gen1 para Gen2, também adicione configurações de conta de armazenamento ao arquivo %HIVE_CONF_DIR%/hive-site.xml.
Você pode modificar as configurações de cada arquivo usando o Apache Ambari. Para encontrar as configurações da conta de armazenamento, confira Suporte do Azure ao Hadoop: ABFS — Azure Data Lake Storage Gen2. Este exemplo usa a configuração
fs.azure.account.key
para habilitar a autorização de Chave Compartilhada:<property> <name>fs.azure.account.key.abfswales1.dfs.core.windows.net</name> <value>your-key-goes-here</value> </property>
Para encontrar links para artigos que podem ajudar você a configurar o HDInsight, o Azure Databricks e outros serviços do Azure e usar o Gen2, confira Serviços do Azure que dão suporte ao Azure Data Lake Storage Gen2.
Atualizar aplicativos para usar APIs do Gen2. Confira estes guias:
Atualize os scripts para usar cmdlets do PowerShelldo Data Lake Storage Gen2 e comandos do CLI do Azure.
Pesquise referências de URI que contenham a cadeia de caracteres
adl://
em arquivos de código ou em notebooks do Databricks, arquivos HQL do Apache Hive ou qualquer outro arquivo usado como parte de suas cargas de trabalho. Substitua essas referências pelo URI Gen2 formatado da sua nova conta de armazenamento. Por exemplo: o URI Gen1:adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile
pode se tornarabfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile
.Configure a segurança em sua conta para incluir funções do Azure, segurança no nível de arquivo e pasta e firewalls de Armazenamento do Azure e redes virtuais.
Etapa 4: substituição do Gen1 pelo Gen2
Depois de ter certeza de que seus aplicativos e cargas de trabalho estão estáveis no Gen2, é possível começar a usar o Gen2 para satisfazer seus cenários de negócios. Desative todos os pipelines restantes em execução no Gen1 e encerre sua conta do Gen1.
Funcionalidades do Gen1 vs Gen2
Esta tabela compara os recursos do Gen1 com os do Gen2.
Padrões do Gen1 para o Gen2
Escolha um padrão de migração e, em seguida, modifique esse padrão conforme necessário.
Padrão de migração | Detalhes |
---|---|
Lift- e -Shift | O padrão mais simples. Ideal se seus pipelines de dados que podem arcar com tempo de inatividade. |
Cópia incremental | Semelhante a lift and shift, mas com menos tempo de inatividade. Ideal para grandes quantidades de dados que levam mais tempo para ser copiados. |
Pipeline duplo | Ideal para pipelines que não podem arcar com nenhum tempo de inatividade. |
Sincronização bidirecional | Semelhante ao pipeline duplo, mas com uma abordagem mais em fases, adequada para pipelines mais complicados. |
Vamos examinar cada padrão com mais detalhes.
Padrão lift-and-shift
Este é o padrão mais simples.
Interromper todas as gravações no Gen1.
Mover dados do Gen1 para o Gen2. É recomendável usar o Azure Data Factory ou o portal do Azure. As ACLs são copiadas com os dados.
Apontar as operações de ingestão e cargas de trabalho para o Gen2.
Desativação do Gen1.
Confira nosso código de exemplo para o padrão de lift and shift em nosso exemplo de migração Lift and Shift.
Considerações sobre o uso do padrão lift and shift
Substituição do Gen1 para o Gen2 para todas as cargas de trabalho ao mesmo tempo.
Tempo de inatividade durante a migração e o período de substituição.
Ideal para pipelines que aceitam tempo de inatividade e nos quais todos os aplicativos podem ser atualizados de uma só vez.
Dica
Considere usar o portal do Azure para reduzir o tempo de inatividade e diminuir o número de etapas exigidas por você para concluir a migração.
Padrão de cópia incremental
Comece a mover dados do Gen1 para o Gen2. Recomendamos o Azure Data Factory. As ACLs são copiadas com os dados.
Copie de forma incremental dados novos do Gen1.
Depois que todos os dados forem copiados, interrompa todas as gravações para o Gen1 e aponte as cargas de trabalho para o Gen2.
Desativação do Gen1.
Confira nosso código de exemplo para o padrão de cópia incremental no Exemplo de migração de cópia incremental.
Considerações sobre o uso do padrão de cópia incremental:
Substituição do Gen1 para o Gen2 para todas as cargas de trabalho ao mesmo tempo.
Espere o tempo de inatividade somente durante o período de substituição.
Ideal para pipelines em que todos os aplicativos foram atualizados ao mesmo tempo, mas a cópia de dados exige mais tempo.
Padrão de pipeline duplo
Mover dados do Gen1 para o Gen2. Recomendamos o Azure Data Factory. As ACLs são copiadas com os dados.
Ingerir novos dados tanto no Gen1 quanto no Gen2.
Apontar cargas de trabalho para o Gen2.
Interromper todas as gravações para o Gen1 e, em seguida, encerrar o Gen1.
Confira nosso código de exemplo para o padrão de pipeline duplo em nosso Exemplo de migração de pipeline duplo.
Considerações sobre o uso do padrão de pipeline duplo:
️ Pipelines Gen1 e Gen2 executados lado a lado.
Dá suporte a tempo de inatividade zero.
Ideal em situações em que as cargas de trabalho e os aplicativos não podem arcar com nenhum tempo de inatividade e você pode ingerir em ambas as contas de armazenamento.
Padrão de sincronização bidirecional
Configure a replicação bidirecional entre Gen1 e Gen2. Recomendamos WanDisco. Ele oferece um recurso de reparo para os dados existentes.
Quando todas as movimentações forem concluídas, interrompa todas as gravações para Gen1 e desative a replicação bidirecional.
Desativação do Gen1.
Confira nosso código de exemplo para o padrão de sincronização bidirecional em nosso Exemplo de migração bidirecional de sincronização.
Considerações sobre o uso do padrão de sincronização bidirecional:
Ideal para cenários complexos que envolvem um grande número de pipelines e dependências em que uma abordagem em fases pode fazer mais sentido.
O esforço de migração é alto, mas dá suporte lado a lado para Gen1 e Gen2.
Próximas etapas
- Saiba mais sobre as várias partes da configuração de segurança para uma conta de armazenamento. Para saber mais, confira: Guia de segurança do Armazenamento do Microsoft Azure.
- Otimize o desempenho para seu Data Lake Store. Consulte Otimizar o desempenho do Azure Data Lake Storage Gen2
- Examine as melhores práticas para gerenciar o Data Lake Store. Consulte Melhores práticas para utilizar o Azure Data Lake Storage Gen2