Tässä artikkelissa esitellään muiden kuin PowerScale Hadoop -ympäristöjen varmuuskopiointiin Dell PowerScale -klusteriin suositellut parhaat käytännöt. Dell PowerScale on ihanteellinen varmuuskopiointikohde Hadoop-klusterissa sijaitseville tiedoille, sillä sen tehokas tietojen poistokoodaus takaa yli 80 prosentin tehon. DistCp (Distributed Copy) on vakiotyökalu, joka toimitetaan kaikkien Hadoop-jakelujen ja -versioiden mukana. DistCp voi kopioida koko Hadoop-hakemiston. DistCp toimii MapReduce-tehtävänä ja tekee tiedostokopioita rinnakkain ja käyttää tarvittaessa järjestelmiä täysin. Voit myös rajoittaa kaistanleveyttä ja vaikuttaa muihin tehtäviin.
YMPÄRISTÖ
Tässä artikkelissa käytetään seuraavaa testiympäristöä:
Koska DistCp on Hadoop-vakiotyökalu, tässä asiakirjassa kuvattu lähestymistapa koskee useimpia, ellei myös kaikkia muita Hadoop-jakeluja ja -versioita.
Oleta tässä asiakirjassa, että varmuuskopioitavat tiedot ovat hakemistossa PHD Hadoop HDFS -klusterissa. /mydata. Esimerkit varmuuskopioivat nämä tiedot PowerScale-klusteriin hakemistossa /ifs/hadoop/backup/mydata.
Kuva 1: Hadoop-klusterin varmuuskopiointi Isilonille
Yksinkertaisin varmuuskopiointikomento on alla:
[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update /mydata hdfs://all-nc-s-hdfs/backup/mydata
Voit suorittaa edellä olevan komennon missä tahansa isännässä, johon Hadoop-ohjelma (hadoop) on asennettu. Komennon suorittavalla käyttäjällä on oltava oikeus lukea lähdetiedostoja ja kirjoittaa kohdetiedostoja.
Asetukset -skipcrccheck ja -update on määritettävä, jotta PowerScale-klusterissa olevien kohdetiedostojen CRC-tarkistus voidaan välttää. PowerScale ei säilytä Hadoop CRC:tä, ja sen laskeminen olisi liian kallista. Siksi näitä asetuksia tarvitaan, jotta CRC-tarkistukseen liittyvät virheet voidaan estää.
Seuraava parametri /mydata on lähteen Hadoop-klusterin lähdepolku. Se voi olla myös /, joka varmuuskopioi koko HDFS-nimitilan. Koska polku ei ole täysin hyväksytty, se käyttää CORE-site.xml-tiedoston fs.defaultFS-parametrissa määritettyä HDFS NameNodea.
Viimeinen parametri hdfs://all-nc-s-hdfs/backup/mydata on PowerScale-klusterin kohdepolku. Isäntäosan all-nc-s-hdfs voi olla suhteellinen tai täysin hyväksytty DNS-nimi, kuten all-nc-s-hdfs.example.com. Sen pitäisi olla PowerScale-klusterin SmartConnect Zone DNS -nimi. Hakemisto-osa /backup/mydata määräytyy PowerScale-klusterin käyttöoikeusalueella määritetyn HDFS-pääpolun mukaan. Jos HDFS-pääpolku on /ifs/hadooparvo on /ifs/hadoop/backup/mydata.
Tiedostojen, joiden koot ovat samat lähde- ja kohdehakemistoissa, oletetaan olevan muuttumattomia, eikä niitä kopioida. Tiedostojen aikaleimat eivät erityisesti määritä muutettuja tiedostoja. Lisätietoja DistCp:stä on Hadoop Distcp Version 2 -oppaassa.
KÄYTTÖOIKEUKSIEN
KOPIOINTIKohdetiedostojen omistaja, ryhmä ja käyttöoikeudet palautetaan oletusarvoisesti oletusarvoon uusissa tiedostoissa, jotka DistCp-palvelun käynnistävä käyttäjä on luonut. Kaikki lähdetiedostolle määritetyt omistajat, ryhmät ja käyttöoikeudet menetetään. Jos haluat säilyttää nämä tiedot lähdetiedostoista, käytä -p-vaihtoehtoa. Koska -p-vaihtoehdon on suoritettava komento chown/chgrp, DistCp:n käynnistävä käyttäjän on oltava kohdejärjestelmän pääkäyttäjä. PowerScale-klusterin pääkäyttäjä toimii tätä tarkoitusta varten. Esimerkki: [root@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update -pugp /mydata hdfs://all-nc-s-hdfs/backup/mydata
TILANNEVEDOSTEN KÄYTTÄMINEN VARMUUSKOPIOINTILÄHTEESSÄ
Suurten aineistojen varmuuskopiointi voi kestää kauan. Tiedostot, jotka ovat DistCp-prosessin alussa, kun hakemistorakenne tarkistetaan, eivät ehkä ole enää käytettävissä, kun kyseinen tiedosto kopioidaan. Tämä tiedostojen muutos aiheuttaa virheitä. Lisäksi sovellus voi tarvita yhdenmukaisen yhden ajankohdan varmuuskopioinnin, jotta sitä voidaan käyttää. Näiden ongelmien ratkaisemiseksi on suositeltavaa luoda lähteestä HDFS-tilannevedos, jotta tietojoukko ei muutu varmuuskopioinnin aikana. Tämä ei liity PowerScale-kohdeklusterin SnapshotIQ-ominaisuuteen.
JOTTA voit käyttää HDFS-tilannevedoksia, sinun on sallittava ensin tietyn hakemiston tilannevedokset:[gpadmin@phddas2-0 ~]$ hdfs dfsadmin -allowSnapshot /mydata
Allowing snapshot on /mydata succeeded
Luo välittömästi ennen DistCp-varmuuskopiota HDFS-tilannevedos:[gpadmin@phddas2-0 ~]$ hdfs dfs -createSnapshot /mydata backupsnap Created snapshot /mydata/.snapshot/backupsnap
Tämän tilannevedoksen nimi on backupsnap.
Voit käyttää tiedostoa HDFS-polulla /mydata/.snapshot/backupsnap. Tämän tilannevedoksen jälkeiset HDFS-tiedostoihin tehdyt muutokset eivät näy seuraavassa varmuuskopiossa. Voit varmuuskopioida tilannevedoksen PowerScaleen komennolla
[gpadmin@phddas2-0 ~]$ hadoop distcp -skipcrccheck -update /mydata/.snapshot/backupsnap hdfs://all-nc-s-hdfs/backup/mydata
Kun varmuuskopiointikomento on suoritettu, voit poistaa tilannevedoksen. Tämä vapauttaa tilaa, jossa on ollut käytössä vanhempia versioita tiedostoista, joita on muokattu tilannevedoksen jälkeen:
[gpadmin@phddas2-0 ~]$ hdfs dfs -deleteSnapshot /mydata backupsnap
POWERScale-TILANNEVEDOSTEN KÄYTTÄMINEN VARMUUSKOPIOINTIKOHTEESEEN
Jos et käytä varmuuskopiolähteessä tilannevedoksia, haluat ehkä säilyttää useita tilannevedoksia varmuuskopioinnin kohdehakemistosta, jotta voit palauttaa vanhempia tiedostoversioita.
Jos haluat luoda tilannevedoksia PowerScalessa, tarvitset SnapshotIQ-käyttöoikeuden. Voit luoda tilannevedoksia verkkojärjestelmänvalvojan käyttöliittymässä tai komentoriviliittymässä. Jos haluat luoda yksittäisen PowerScale-tilannevedoksen manuaalisesti komentorivikäyttöliittymässä, SSH mihin tahansa PowerScale-solmuun ja suorita seuraavasti: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
Voit lisätä tämän komennon varmuuskopiointiin, josta on lisätietoja alla olevassa Aikataulutuksen varmuuskopioinnit -osassa.
Lisätietoja PowerScale OneFS -tilannevedoksista on OneFS-version PowerScale OneFS -komentorivikäyttöliittymän hallintaoppaassa: PowerScale OneFS -tietokeskukset
SYNCIQ-REPLIKOINTI USEILLE PowerScale-KLUSTEREILLE
Kun PowerScale-klusterin DistCp-varmuuskopiointi on valmis, OneFS SyncIQ -apuohjelmalla voi replikoida tilannevedoksia WAN-klusterista muihin PowerScale-klustereihin. Replikoidut tilannevedokset voivat olla monipuolinen ja tehokas osa katastrofista palautumista koskevaa strategiaa.
Kuva 2: SynIQ-replikointi useille Isilon-klustereille, jotkakäsittelevät poistettuja
tiedostoja
. Oletuksena Hadoop-lähdeklusterista poistettuja tiedostoja ei poisteta hadoop-kohdeklusterista. Jos tämä edellyttää tätä, lisää -delete-argumentti DistCp-komentoon. Kun käytät tätä komentoa, on suositeltavaa käyttää varmuuskopiokohteen tilannevedoksia poistettujen tiedostojen palauttamiseen.
VARMUUSKOPIOIDEN
AJOITTAMINENHadoop-klusterin varmuuskopioinnin voi automatisoida ja ajoittaa eri tavoilla. Apache Oozya käytetään usein Hadoop-tehtävien automatisoinnissa, ja se tukee suoraan DistCp-toimintoa. CRON-komennolla voi suorittaa myös Komentotulkin komentosarjan. Voit automatisoida komentojen suorittamisen SSH-istunnossa ottamalla käyttöön salasanattoman SSH:n. Salasanattomalla SSH-yhteydellä CRON-käyttäjä voi muodostaa yhteyden Hadoop-asiakasohjelmaan ja PowerScale-klusteriin (jos käytät SnapshotIQ-sovellusta).
PowerScale-varmuuskopioinnin kohdetiedostot ovat käytettävissä Hadoop-sovelluksissa samalla tavalla kuin lähdetiedostot, koska PowerScale tukee HDFS-järjestelmää. Voit käyttää varmuuskopiointitietoja suoraan ilman, että sinun tarvitsee ensin palauttaa niitä alkuperäiseen Hadoop-lähteeseen. Tämä toiminto säästää analyysiaikaa. Jos esimerkiksi suoritat näin MapReduce-komennon:hadoop jar /usr/lib/gphd/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep /mydata/mydataset1 output1 ABC
Voit suorittaa MapReduce-tehtävän PowerScalen varmuuskopiointitietojoukossa seuraavalla komennolla:hadoop jar /usr/lib/gphd/hadoop-mapreduce/hadoop-mapreduce-examples.jar grep hdfs://all-nc-s-hdfs/backup/ /mydata/mydataset1 output1 ABC
Jos haluat määrittää täysin hyväksytyn Hadoop-polun fs.defaultFS-parametrin sijasta, kysy lisätietoja sovelluksen toimittajalta. Lisäksi PowerScale-klusteri, joka on suunniteltu varmuuskopiointia ja arkistointia varten, ei todennäköisesti takaa yhtä suurta suorituskykyä kuin ensisijainen Hadoop-ympäristö. Suosittelemme testausta tai Dell PowerScalen kanssa lisätietoja oikean kokoisista laitteista.