Article Number: 000126807
Este artigo descreve as práticas recomendadas para o backup de ambientes Hadoop sem PowerScale em um Dell PowerScale Cluster. Com a proteção de dados de codificação de eliminação robusta, que oferece mais de 80% de eficiência de armazenamento, o Dell PowerScale é um destino de backup ideal para dados localizados em um cluster do Hadoop. A ferramenta DistCp (distributed copy, cópia distribuída) vem por padrão com todas as distribuições e versões do Hadoop. A ferramenta DistCp pode copiar diretórios inteiros do Hadoop. A ferramenta DistCp é executada como um trabalho MapReduce para realizar cópias de arquivos em paralelo, usando totalmente seus sistemas, conforme necessário. Há também uma opção para limitar a largura de banda para controlar o impacto em outras tarefas.
AMBIENTE
Este artigo usa o seguinte ambiente de teste:
Como a ferramenta DistCp é padrão do Hadoop, a abordagem descrita neste documento é aplicável à maioria ou a todas as outras distribuições e versões do Hadoop.
Durante a leitura deste documento, suponha que os dados para backup estejam localizados no cluster PHD Hadoop HDFS, no diretório /mydata. Nos exemplos, o backup de dados é feito no PowerScale Cluster, no diretório /ifs/hadoop/backup/mydata.
Figura 1: Backup de um cluster do Hadoop no Isilon
O comando de backup mais simples é mostrado abaixo:
[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update /mydata hdfs://all-nc-s-hdfs/backup/mydata
Você pode executar o comando acima em qualquer host que tenha o client Hadoop (hadoop) instalado. O usuário que executar o comando precisa ter permissões para ler os arquivos de origem e gravar os arquivos de destino.
As opções -skipcrccheck e -update devem ser especificadas para evitar a verificação de CRC nos arquivos de destino colocados no PowerScale Cluster. O PowerScale não armazena o CRC do Hadoop. Fazer esse cálculo seria muito caro. Portanto, essas opções são necessárias para evitar erros relacionados à verificação de CRC.
O próximo parâmetro, "/mydata", é o caminho de origem no cluster do Hadoop de origem. Também pode ser "/" para fazer backup de todo o namespace do HDFS. Como o caminho não é totalmente qualificado, ele usa o NameNode do HDFS especificado no parâmetro "fs.defaultFS" do core-site.xml.
O parâmetro final, "hdfs://all-nc-s-hdfs/backup/mydata", é o caminho de destino em seu PowerScale Cluster. A parte do host "all-nc-s-hdfs" pode ser um nome DNS relativo ou totalmente qualificado, como all-nc-s-hdfs.exemplo.com. Ele deve ser o nome DNS de SmartConnect Zone para seu PowerScale Cluster. O fragmento de diretório "/backup/mydata" é relativo ao caminho raiz de HDFS, definido na zona de acesso do PowerScale Cluster. Se o caminho raiz de HDFS for /ifs/hadoop, então esse valor será /ifs/hadoop/backup/mydata.
Os arquivos cujos tamanhos são idênticos nos diretórios de origem e destino são considerados inalterados e, portanto, não são copiados. Em particular, os registros de data e hora do arquivo não são usados para identificar arquivos alterados. Para obter mais detalhes sobre a ferramenta DistCp, consulte o Guia da versão 2 da ferramenta DistCp do Hadoop.
COPIANDO PERMISSÕES
Por padrão, os novos arquivos criados pelo usuário que inicia a ferramenta DistCp terão o proprietário, o grupo e as permissões dos arquivos de destino redefinidos com os valores padrão. O proprietário, o grupo e as permissões definidos para o arquivo de origem serão perdidos. Para manter essas informações dos arquivos de origem, use a opção -p. Como a opção -p deve executar chown/chgrp, o usuário que inicia a ferramenta DistCp deve ser um superusuário no sistema de destino. O usuário root no PowerScale Cluster funciona para essa finalidade. Por exemplo: [root@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update -pugp /mydata hdfs://all-nc-s-hdfs/backup/mydata
USANDO SNAPSHOTS PARA SUA ORIGEM DE BACKUP
O backup de grandes conjuntos de dados pode levar muito tempo. Os arquivos existentes no início do processo da ferramenta DistCp, quando a estrutura de diretórios é verificada, podem não existir mais quando esse arquivo é copiado. Essa alteração nos arquivos produz erros. Além disso, um aplicativo pode exigir um backup consistente de ponto único no tempo para que ele possa ser utilizável. Para lidar com esses problemas, é recomendável que você crie um snapshot do HDFS de sua origem para garantir que o conjunto de dados não mude durante o processo de backup. Isso não está relacionado ao recurso SnapshotIQ do PowerScale Cluster de destino.
Para usar snapshots do HDFS, você precisa primeiro permitir snapshots para um diretório específico:[gpadmin@phddas2-0 ~]$ hdfs dfsadmin -allowSnapshot /mydata
Allowing snapshot on /mydata succeeded
Crie um snapshot do HDFS logo antes de realizar o backup com a ferramenta DistCp:
[gpadmin@phddas2-0 ~]$ hdfs dfs -createSnapshot /mydata backupsnap Created snapshot /mydata/.snapshot/backupsnap
O nome desse snapshot é backupsnap. Você pode acessá-lo no caminho de HDFS: /mydata/.snapshot/backupsnap. Todas as alterações em seus arquivos do HDFS após esse snapshot não serão refletidas no backup subsequente. Você pode fazer backup do snapshot no PowerScale usando o seguinte comando:
[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update /mydata/.snapshot/backupsnap hdfs://all-nc-s-hdfs/backup/mydata
Quando o comando de backup terminar de ser executado, você poderá excluir o snapshot. Isso libera qualquer espaço usado para armazenar versões mais antigas de arquivos que foram modificados desde o snapshot:
[gpadmin@phddas2-0 ~]$ hdfs dfs -deleteSnapshot /mydata backupsnap
USANDO SNAPSHOTS DO POWERSCALE PARA SEU DESTINO DE BACKUP
Independentemente de usar snapshots para sua origem de backup, talvez você queira manter vários snapshots de seu diretório de destino de backup para restaurar versões mais antigas de arquivos.
Para criar snapshots no PowerScale, você deve ter uma licença do SnapshotIQ. Você pode criar snapshots usando a interface Web de administração ou a CLI. Para criar um único snapshot do PowerScale manualmente com a CLI, acesse o SSH em qualquer PowerScale Node e execute o seguinte comando:all-nc-s-1# isi snapshot snapshots create /ifs/hadoop/backup/mydata --name backup-2014-07-01 --expires 1D --verbose
Created snapshot backup-2014-07-01 with ID 6
Você pode adicionar esse comando ao processo de backup discutido na seção Programando backups abaixo.
Para obter mais detalhes sobre snapshots do PowerScale OneFS, consulte o Guia de administração da CLI do PowerScale OneFS relacionado à sua versão do OneFS: Hubs de informações do PowerScale OneFS
REPLICAÇÃO DO SYNCIQ PARA VÁRIOS POWERSCALE CLUSTERS
Depois que a ferramenta DistCp realizar o backup no PowerScale Cluster, você poderá usar o OneFS SyncIQ para replicar os snapshots em uma WAN para outros PowerScale Clusters. Os snapshots replicados podem representar um componente versátil e eficiente de sua estratégia de recuperação de desastres.
Figura 2: Replicação do SyncIQ para vários Isilon Clusters
MANUSEANDO ARQUIVOS EXCLUÍDOS
Por padrão, os arquivos excluídos do cluster de origem do Hadoop não são excluídos do cluster de destino do Hadoop. Se você precisar desse comportamento, adicione o argumento -delete ao comando da ferramenta DistCp. Ao executar esse comando, é recomendável usar snapshots no destino de backup para permitir a recuperação de arquivos excluídos.
PROGRAMANDO BACKUPS
Você pode automatizar e agendar as etapas para fazer backup de um cluster do Hadoop usando vários métodos. O Apache Oozie é usado com frequência para automatizar tarefas do Hadoop, além de ser diretamente compatível com a ferramenta DistCp. O CRON também pode ser usado para executar um script de shell. Para automatizar a execução de comandos em uma sessão SSH, habilite o SSH sem senha. O SSH sem senha permite que um usuário do CRON se conecte ao seu client Hadoop e ao seu PowerScale Cluster (se estiver usando o SnapshotIQ).
Os arquivos de destino de backup no PowerScale podem ser acessados a partir de aplicativos do Hadoop, da mesma forma que os arquivos de origem, devido à compatibilidade do PowerScale com o HDFS. Você pode usar seus dados de backup diretamente, sem precisar primeiro restaurá-los para o ambiente Hadoop de origem inicial. Esse recurso economiza tempo de análise. Por exemplo, se você executar um comando MapReduce, como este:hadoop jar /usr/lib/gphd/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep /mydata/mydataset1 output1 ABC
Você poderá executar o trabalho MapReduce no conjunto de dados de backup do PowerScale usando o seguinte comando:hadoop jar /usr/lib/gphd/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep hdfs://all-nc-s-hdfs/backup/ /mydata/mydataset1 output1 ABC
Para especificar um caminho do Hadoop totalmente qualificado em vez de usar o parâmetro "fs.defaultFS", obtenha detalhes com seu provedor de aplicativos. Além disso, um PowerScale Cluster projetado para backup e arquivamento, e não para alto desempenho, provavelmente não fornecerá o mesmo desempenho que o seu ambiente Hadoop primário. É recomendável testar ou consultar o Dell PowerScale para saber o dimensionamento adequado.
Isilon, PowerScale OneFS, Isilon with HDFS
20 Sep 2023
6
How To