Azure Data Lake Storage padrões e diretrizes de migração
Pode migrar os seus dados, cargas de trabalho e aplicações do Azure Data Lake Storage Gen1 para Azure Data Lake Storage Gen2. Este artigo explica a abordagem de migração recomendada e abrange os diferentes padrões de migração e quando utilizar cada um deles. Para uma leitura mais fácil, este artigo utiliza o termo Gen1 para fazer referência a Azure Data Lake Storage Gen1 e o termo Gen2 para fazer referência a Azure Data Lake Storage Gen2.
Nota
Azure Data Lake Storage Gen1 foi descontinuado. Veja o anúncio de descontinuação aqui. Data Lake Storage Gen1 recursos já não estão acessíveis. Se precisar de assistência especial, contacte-nos.
Azure Data Lake Storage Gen2 baseia-se no armazenamento de Blobs do Azure e fornece um conjunto de capacidades dedicadas à análise de macrodados. Data Lake Storage Gen2 combina funcionalidades do Azure Data Lake Storage Gen1, tais como semântica do sistema de ficheiros, diretório e segurança ao nível do ficheiro e dimensionamento com armazenamento em camadas de baixo custo, elevada disponibilidade/recuperação após desastre do armazenamento de Blobs do Azure.
Nota
Como o Gen1 e o Gen2 são serviços diferentes, não existe nenhuma experiência de atualização no local. Para simplificar a migração para o Gen2 com o portal do Azure, veja Migrar Azure Data Lake Storage de Gen1 para Gen2 com o portal do Azure.
Abordagem recomendada
Para migrar do Gen1 para o Gen2, recomendamos a seguinte abordagem.
Passo 1: Avaliar a preparação
Passo 2: Preparar a migração
Passo 3: Migrar cargas de trabalho de dados e aplicações
Passo 4: Transferência da Gen1 para a Gen2
Passo 1: Avaliar a preparação
Saiba mais sobre a oferta de Data Lake Storage Gen2, os seus benefícios, custos e arquitetura geral.
Compare as capacidades do Gen1 com as do Gen2.
Reveja uma lista de problemas conhecidos para avaliar eventuais lacunas na funcionalidade.
O Gen2 suporta funcionalidades de armazenamento de Blobs, como o registo de diagnósticos, as camadas de acesso e as políticas de gestão do ciclo de vida do Armazenamento de blobs. Se tiver interesse em utilizar qualquer uma destas funcionalidades, reveja o nível atual de suporte.
Reveja o estado atual do suporte do ecossistema do Azure para garantir que o Gen2 suporta todos os serviços de que as suas soluções dependem.
Passo 2: Preparar a migração
Identifique os conjuntos de dados que irá migrar.
Aproveite esta oportunidade para limpar conjuntos de dados que já não utiliza. A menos que planeie migrar todos os seus dados de uma só vez, dedure este tempo para identificar grupos lógicos de dados que pode migrar por fases.
Efetue uma Análise de Envelhecimento (ou semelhante) na sua conta Gen1 para identificar que ficheiros ou pastas permanecem no inventário durante muito tempo ou se estão a tornar obsoletos.
Determine o impacto que uma migração terá na sua empresa.
Por exemplo, considere se pode pagar algum tempo de inatividade enquanto a migração ocorre. Estas considerações podem ajudá-lo a identificar um padrão de migração adequado e a escolher as ferramentas mais adequadas.
Criar um plano de migração.
Recomendamos estes padrões de migração. Pode escolher um destes padrões, combiná-los ou criar um padrão personalizado.
Passo 3: Migrar dados, cargas de trabalho e aplicações
Migre dados, cargas de trabalho e aplicações com o padrão que preferir. Recomendamos que valide os cenários de forma incremental.
Crie uma conta de armazenamento e ative a funcionalidade de espaço de nomes hierárquico.
Migrar os seus dados.
Configure serviços nas cargas de trabalho para apontar para o ponto final gen2.
Para clusters do HDInsight, pode adicionar definições de configuração da conta de armazenamento ao ficheiro %HADOOP_HOME%/conf/core-site.xml. Se planear migrar tabelas externas do Hive do Gen1 para o Gen2, certifique-se de que adiciona definições da conta de armazenamento ao ficheiro %HIVE_CONF_DIR%/hive-site.xml.
Pode modificar as definições de cada ficheiro com o Apache Ambari. Para encontrar as definições da conta de armazenamento, veja Suporte do Azure do Hadoop: ABFS — Azure Data Lake Storage Gen2. Este exemplo utiliza a
fs.azure.account.key
definição para ativar a autorização da Chave Partilhada:<property> <name>fs.azure.account.key.abfswales1.dfs.core.windows.net</name> <value>your-key-goes-here</value> </property>
Para obter ligações para artigos que o ajudam a configurar o HDInsight, o Azure Databricks e outros serviços do Azure para utilizar o Gen2, veja Serviços do Azure que suportam Azure Data Lake Storage Gen2.
Atualize as aplicações para utilizar as APIs Gen2. Veja estes guias:
Atualize scripts para utilizar Data Lake Storage Gen2 cmdlets do PowerShell e comandos da CLI do Azure.
Procure referências de URI que contenham a cadeia
adl://
em ficheiros de código ou em blocos de notas do Databricks, ficheiros HQL do Apache Hive ou qualquer outro ficheiro utilizado como parte das suas cargas de trabalho. Substitua estas referências pelo URI formatado gen2 da sua nova conta de armazenamento. Por exemplo: o URI gen1:adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile
pode tornar-seabfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile
.Configure a segurança na sua conta para incluir funções do Azure, segurança ao nível dos ficheiros e pastas e firewalls e redes virtuais do Armazenamento do Microsoft Azure.
Passo 4: Transferência da Gen1 para a Gen2
Depois de ter a certeza de que as suas aplicações e cargas de trabalho estão estáveis no Gen2, pode começar a utilizar o Gen2 para satisfazer os seus cenários empresariais. Desative os pipelines restantes em execução no Gen1 e desative a sua conta Gen1.
Capacidades gen1 vs Gen2
Esta tabela compara as capacidades do Gen1 com as do Gen2.
Padrões de Gen1 a 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-and-Shift | O padrão mais simples. Ideal se os pipelines de dados puderem permitir um período de indisponibilidade. |
Cópia incremental | Semelhante a lift-and-shift, mas com menos tempo de inatividade. Ideal para grandes quantidades de dados que demoram mais tempo a copiar. |
Pipeline duplo | Ideal para pipelines que não podem pagar qualquer período de indisponibilidade. |
Sincronização bidirecional | Semelhante ao pipeline duplo, mas com uma abordagem mais faseada que é adequada para pipelines mais complicados. |
Vamos analisar mais detalhadamente cada padrão.
Padrão de migração lift-and-shift
Este é o padrão mais simples.
Pare todas as escritas no Gen1.
Mover dados de Gen1 para Gen2. Recomendamos Azure Data Factory ou através do portal do Azure. As ACLs copiam com os dados.
Aponte as operações de ingestão e as cargas de trabalho para Gen2.
Desativar o Gen1.
Veja o nosso código de exemplo para o padrão lift-and-shift no nosso exemplo de migração Lift and Shift.
Considerações para utilizar o padrão lift-and-shift
Transferência de Gen1 para Gen2 para todas as cargas de trabalho ao mesmo tempo.
Espere um período de indisponibilidade durante a migração e o período de transferência.
Ideal para pipelines que podem permitir tempo de inatividade e todas as aplicações podem ser atualizadas de uma só vez.
Dica
Considere utilizar o portal do Azure para reduzir o tempo de inatividade e reduzir o número de passos necessários para concluir a migração.
Padrão de cópia incremental
Comece a mover dados de Gen1 para Gen2. Recomendamos Azure Data Factory. As ACLs copiam com os dados.
Copiar dados novos de forma incremental a partir do Gen1.
Depois de todos os dados serem copiados, pare todas as escritas no Gen1 e aponte cargas de trabalho para Gen2.
Desativar o Gen1.
Veja o nosso código de exemplo para obter o padrão de cópia incremental no nosso exemplo de migração de cópia incremental.
Considerações para utilizar o padrão de cópia incremental:
Transferência de Gen1 para Gen2 para todas as cargas de trabalho ao mesmo tempo.
Espere um período de indisponibilidade apenas durante o período de transferência.
Ideal para pipelines em que todas as aplicações foram atualizadas de uma só vez, mas a cópia de dados requer mais tempo.
Padrão de pipeline duplo
Mover dados de Gen1 para Gen2. Recomendamos Azure Data Factory. As ACLs copiam com os dados.
Ingerir novos dados para Gen1 e Gen2.
Aponte cargas de trabalho para Gen2.
Pare todas as escritas no Gen1 e, em seguida, desativar o Gen1.
Veja o nosso código de exemplo para obter o padrão de pipeline duplo no nosso exemplo de migração de Pipeline Duplo.
Considerações para utilizar o padrão de pipeline duplo:
Os pipelines Gen1 e Gen2 são executados lado a lado.
Suporta tempo de inatividade zero.
Ideal em situações em que as cargas de trabalho e as aplicações não podem suportar qualquer período de indisponibilidade e 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. Oferece uma funcionalidade de reparação para dados existentes.
Quando todos os movimentos estiverem concluídos, pare todas as escritas no Gen1 e desative a replicação bidirecional.
Desativar o Gen1.
Veja o nosso código de exemplo para obter o padrão de sincronização bidirecional no nosso exemplo de migração da Sincronização Bidirecional.
Considerações para utilizar o 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 faseada pode fazer mais sentido.
O esforço de migração é elevado, mas fornece suporte lado a lado para Gen1 e Gen2.
Passos seguintes
- Saiba mais sobre as várias partes da configuração da segurança de uma conta de armazenamento. Para obter mais informações, veja Guia de segurança do Armazenamento do Azure.
- Otimize o desempenho do Data Lake Store. Veja Otimizar Azure Data Lake Storage Gen2 de desempenho
- Reveja as melhores práticas para gerir o Data Lake Store. Veja Melhores práticas para utilizar Azure Data Lake Storage Gen2