Denne artikkelen beskriver anbefalte anbefalte fremgangsmåter for sikkerhetskopiering av ikke-PowerScale Hadoop-miljøer til en Dell PowerScale-klynge. Dell PowerScale har en robust slettingskodingsdatabeskyttelse som gir mer enn 80 % lagringseffektivitet. Dell PowerScale er et ideelt mål for sikkerhetskopiering for data som befinner seg på en Hadoop-klynge. DistCp (distribuert kopi) er et standardverktøy som følger med alle Hadoop-distribusjoner og -versjoner. DistCp kan kopiere hele Hadoop-kataloger. DistCp kjører som en MapReduce-jobb for å utføre filkopier parallelt, og bruker systemene dine fullt ut om nødvendig. Det finnes også et alternativ for å begrense båndbredden for å kontrollere innvirkningen på andre oppgaver.
MILJØ
Denne artikkelen bruker følgende testmiljø:
Fordi DistCp er et standard Hadoop-verktøy, gjelder tilnærmingen som er beskrevet i dette dokumentet, de fleste, om ikke alle andre Hadoop-distribusjoner og -versjoner.
Når du leser dette dokumentet, må du anta at dataene som skal sikkerhetskopieres, befinner seg på PHD Hadoop HDFS-klyngen i katalogen /mydata. Eksemplene sikkerhetskopierer disse dataene til PowerScale-klyngen i katalogen /ifs/hadoop/backup/mydata.
Figur 1: Sikkerhetskopiere en Hadoop-klynge til Isilon
Den enkleste kommandoen for sikkerhetskopiering vises nedenfor:
[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update /mydata hdfs://all-nc-s-hdfs/backup/mydata
Du kan kjøre kommandoen ovenfor på en hvilken som helst vert som har Hadoop-klienten (hadoop) installert. Brukeren som kjører kommandoen, må ha tillatelse til å lese kildefilene og skrive målfilene.
Alternativene -skipcrccheck og -update må spesifiseres for å unngå CRC-kontroll på målfilene som er plassert på PowerScale-klyngen. PowerScale lagrer ikke Hadoop CRC, og beregningen vil være for dyrt. Derfor kreves disse alternativene for å hindre feil relatert til CRC-kontrollen.
Den neste parameteren "/mydata" er kildebanen på kilde-Hadoop-klyngen. Dette kan også være "/" for å sikkerhetskopiere hele HDFS-navneområdet. Siden banen ikke er fullstendig kvalifisert, bruker den HDFS NameNode som er angitt i fs.defaultFS-parameteren core-site.xml.
Den siste parameteren "hdfs://all-nc-s-hdfs/backup/mydata" er målbanen på PowerScale-klyngen. Vertsdelen "all-nc-s-hdfs" kan være et relativt eller fullt kvalifisert DNS-navn, for eksempel all-nc-s-hdfs.example.com. Det skal være DNS-navnet på SmartConnect Zone for PowerScale-klyngen. Katalogdelen "/backup/mydata" er relativ til HDFS-rotbanen som er definert i tilgangssonen til PowerScale-klyngen. Hvis HDFS-rotbanen er /ifs/hadoop, refererer denne verdien til /ifs/hadoop/backup/mydata.
Filer med størrelser som er identiske på kilde- og målkatalogene, antas å være uendret og blir ikke kopiert. Spesielt brukes ikke tidsstempel for filer til å fastslå endrede filer. Hvis du vil ha mer informasjon om DistCp, kan du se veiledningen for Hadoop DistCp versjon 2.
KOPIERE TILLATELSER
Som standard tilbakestilles eieren, gruppen og tillatelsene til målfilene til standardinnstillingen for nye filer som er opprettet av brukeren som starter DistCp. Alle eier-, gruppe- og tillatelser som er definert for kildefilen, går tapt. Hvis du vil beholde denne informasjonen fra kildefilene, bruker du alternativet -p. Siden alternativet -p må utføre pstn/chgrp, må brukeren som starter DistCp, være en superbruker på målsystemet. Rotbrukeren på PowerScale-klyngen fungerer for dette formålet. Eksempel: [root@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update -pugp /mydata hdfs://all-nc-s-hdfs/backup/mydata
BRUKE ØYEBLIKKSBILDER FOR SIKKERHETSKOPIERINGSKILDEN
Sikkerhetskopiering av store datasett kan ta lang tid. Filer som finnes i begynnelsen av DistCp-prosessen når katalogstrukturen skannes, finnes kanskje ikke lenger når filen kopieres. Denne endringen i filer gir feil. I tillegg kan det hende at en applikasjon krever en konsekvent sikkerhetskopiering på ett tidspunkt for at den skal kunne brukes. For å håndtere disse problemene anbefales det at du oppretter et HDFS-øyeblikksbilde av kilden din for å sikre at datasettet ikke endres under sikkerhetskopieringsprosessen. Dette er ikke relatert til SnapshotIQ-funksjonen i Mål-PowerScale-klyngen.
Hvis du vil bruke HDFS-øyeblikksbilder, må du først tillate øyeblikksbilder for en bestemt katalog:[gpadmin@phddas2-0 ~]$ hdfs dfsadmin -allowSnapshot /mydata
Allowing snapshot on /mydata succeeded
Rett før en sikkerhetskopi med DistCp må du opprette HDFS-øyeblikksbildet:[gpadmin@phddas2-0 ~]$ hdfs dfs -createSnapshot /mydata backupsnap Created snapshot /mydata/.snapshot/backupsnap
Navnet på dette øyeblikksbildet er backupsnap.
Du kan få tilgang til den på HDFS-banen /mydata/.snapshot/backupsnap. Eventuelle endringer i HDFS-filene etter dette øyeblikksbildet gjenspeiles ikke i den påfølgende sikkerhetskopieringen. Du kan sikkerhetskopiere øyeblikksbildet til PowerScale ved hjelp av følgende kommando:
[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update /mydata/.snapshot/backupsnap hdfs://all-nc-s-hdfs/backup/mydata
Når sikkerhetskopieringskommandoen er ferdig med å kjøre, kan du slette øyeblikksbildet. Dette frigjør plass som ble brukt til å lagre eldre versjoner av filer som ble endret etter øyeblikksbildet:
[gpadmin@phddas2-0 ~]$ hdfs dfs -deleteSnapshot /mydata backupsnap
BRUKE POWERScale-ØYEBLIKKSBILDER FOR SIKKERHETSKOPIERINGSMÅL
Uavhengig av bruk av øyeblikksbilder for sikkerhetskopieringskilden, kan det være lurt å beholde flere øyeblikksbilder av målkatalogen for sikkerhetskopiering for å gjenopprette eldre versjoner av filer.
Hvis du vil opprette øyeblikksbilder på PowerScale, må du ha en SnapshotIQ-lisens. Du kan opprette øyeblikksbilder ved hjelp av webadministratorgrensesnittet eller CLI. Hvis du vil opprette ett enkelt PowerScale-øyeblikksbilde manuelt med CLI, SSH i en PowerScale-node og kjøre følgende: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
Du kan legge til denne kommandoen i sikkerhetskopieringsprosessen som beskrives i delen Planlegging av sikkerhetskopiering nedenfor.
Hvis du vil ha mer informasjon om PowerScale OneFS-øyeblikksbilder, kan du se administrasjonsveiledningen for PowerScale OneFS CLI for din versjon av OneFS: PowerScale OneFS-informasjonshuber
SYNCIQ-REPLIKERING FOR FLERE PowerScale-KLYNGER
Når DistCp-sikkerhetskopien til PowerScale-klyngen er fullført, kan du bruke OneFS SyncIQ til å replikere øyeblikksbilder på tvers av en WAN til andre PowerScale-klynger. Replikerte øyeblikksbilder kan gi en allsidig og effektiv komponent i strategien for katastrofeoppretting.
Figur 2: SynIQ-replikering for flere Isilon-klynger
SOM HÅNDTERER SLETTEDE FILER
som standard, blir filer som er slettet fra kilde-Hadoop-klyngen, ikke slettet fra mål-Hadoop-klyngen. Hvis du trenger denne atferden, legger du til -delete-argument i DistCp-kommandoen. Når du bruker denne kommandoen, anbefales det å bruke øyeblikksbilder på sikkerhetskopimålet for å tillate gjenoppretting av slettede filer.
PLANLEGGE SIKKERHETSKOPIER
Du kan automatisere og planlegge trinnene for å sikkerhetskopiere en Hadoop-klynge ved hjelp av ulike metoder. Apache Oozie brukes ofte til å automatisere Hadoop-oppgaver, og den støtter direkte DistCp. CRON kan også brukes til å kjøre et Shell-skript. Hvis du vil automatisere kjøring av kommandoer i en SSH-økt, må du aktivere passordfri SSH. Med passordfri SSH kan en CRON-bruker koble til Hadoop-klienten og PowerScale-klyngen (hvis du bruker SnapshotIQ).
Målfilene for sikkerhetskopiering på PowerScale er tilgjengelige fra Hadoop-applikasjoner på samme måte som kildefilene på grunn av PowerScales støtte for HDFS. Du kan bruke sikkerhetskopieringsdataene direkte uten først å måtte gjenopprette dem til det opprinnelige hadoop-kildemiljøet. Denne funksjonen sparer analysetid. Hvis du for eksempel kjører en MapReduce-kommando som dette:hadoop jar /usr/lib/gphd/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep /mydata/mydataset1 output1 ABC
Du kan kjøre MapReduce-jobben mot sikkerhetskopieringsdatasettet på PowerScale ved hjelp av følgende kommando:hadoop jar /usr/lib/gphd/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep hdfs://all-nc-s-hdfs/backup/ /mydata/mydataset1 output1 ABC
Hvis du vil angi en fullstendig Hadoop-bane i stedet for å bruke fs.defaultFS-parameteren, kan du ta kontakt med applikasjonsleverandøren for å få mer informasjon. En PowerScale-klynge som er utformet for sikkerhetskopiering og arkivering, i stedet for høy ytelse, gir sannsynligvis ikke den samme ytelsen som det primære Hadoop-miljøet. Testing anbefales eller kontakte Dell PowerScale for riktig størrelse.