Johdatus HDFS-arkkitehtuuriin

HDFS tarkoittaa Hadoop Distributed File System, joka itse sanoo, että tiedostot on jaettu lohkoihin ja tallennettu useille koneille.

HDFS: n ominaisuudet

HDFS: n ominaisuudet, jotka ovat seuraavat:

1. Saatavuus

HDFS: ssä tiedot replikoituvat säännöllisesti datasolmujen kesken luomalla lohkojen kopio toiseen datasolmuun. Joten laitteistovirheiden tai virheiden varalta, käyttäjä voi saada tietonsa toiselta datasolmulta, jossa tiedot on toistettu.

2. Skaalautuvuus

HDFS: ssä tiedot tallennetaan useille datasolmuille lohkojen muodossa. HDFS antaa käyttäjille mahdollisuuden lisätä lohkojen kokoa tarvittaessa. HDFS: ssä käytetään kahta tyyppiä skaalautuvuusmekanismeja - vaaka- ja pystysuuntainen skaalautuvuus.

3. Kopiointi

Tämä on HDFS: n ainutlaatuinen ominaisuus, jonka avulla käyttäjä voi helposti käyttää tietojaan mahdollisissa laitteistovirheissä.

HDFS-arkkitehtuuri

HDFS seuraa isäntä-orja-arkkitehtuuria, jolla on seuraavat komponentit:

1. NameNode:

NameNode tunnetaan myös isäntäsolmuna, koska se käsittelee kaikkia DataNodes-sovelluksessa olevia lohkoja.

NameNode suorittaa seuraavat tehtävät:

  • Hallitse kaikkia DataNode-lohkoja
  • Antaa käyttäjän pääsyn tiedostoon
  • Pitää kaikkia DataNodessa olevia lohkojen tietueita
  • NameNode tallentaa kaikki tiedostojen tiedot, esimerkiksi jos tiedostonimi nimetään uudelleen tai sisältöä on muutettu tai poistettu. NameNode tallentaa muutoksen välittömästi EditLogs-tiedostoon.
  • Se vie kaikkien lohkojen tietueet datasolmuista varmistaakseen, että kaikki lohkot ovat elossa DataNodessa.
  • Jos tapahtuu virhe, jos laitteistovika tapahtuu, se valitsee heti toisen DataNode luodakseen replikoinnin ja hallitaksesi tiedonsiirtoa kaikille DataNodeille

Tiedostotyypit NameNode-tiedostossa

NameNode sisältää kahta tyyppiä tiedostoja FsImage ja EditLogs

i. FsImage: Sitä kutsutaan myös tiedostokuvaksi, koska se sisältää kaikki tiedostojärjestelmän tiedot nimiavaruuksilla. Se sisältää myös kaikki hakemistot ja tiedostojärjestelmän tiedostot sarjatulla tavalla.

ii. EditLogs: Nykyiset tiedostojärjestelmän tiedostoihin tehdyt muutokset tallennetaan EditLogs-tiedostoon.

2. Toissijainen niminumero

Toissijaista niminumeroa kutsutaan myös tarkistuspisteeksi, koska se suorittaa säännöllisiä tarkistuspisteitä. Se toimii ensisijaisen NameNode-apulaisena.

Secondary NameNode suorittaa seuraavat tehtävät

  • Toissijainen NameNode yhdistää FsImage ja EditLogs NameNode.
  • Se lukee kaikki tiedostojärjestelmän tiedot NameNode-tallennusmuistista ja kirjoittaa nämä tiedot tiedostojärjestelmän kiintolevylle.
  • Se lataa FsImage- ja EditLogs-tiedostot NameNode-järjestelmästä säännöllisin väliajoin ja lukee tehdyt EditLogs-tiedostojen muokkaustiedot ja kirjaa muokkaukset FsImage-tiedostoon. Tämä prosessi luo uuden FsImage-tiedoston, joka lähetetään sitten takaisin NameNode-koodiin. Aina kun NameNode käynnistyy, se käyttää näitä FsImage.

3. DataNode

DataNode tunnetaan myös orjasolmuna, koska se käsittelee jokaista solmua, joka sisältää tietoja orjakoneessa. DataNode tallentaa tiedot ext3- tai ext4-tiedostomuodossa.

Datasolmu suorittaa seuraavat tehtävät:

  • Jokainen tieto tallennetaan DataNodes-järjestelmään
  • Se suorittaa kaikki tiedostojen toiminnot käyttäjän pyynnön mukaisesti, esimerkiksi lukee tiedostojen sisältöä, kirjoittaa uusia tietoja tiedostoihin,
  • Se noudattaa myös kaikkia NameNode: n antamia ohjeita, esimerkiksi tiedoston uudelleennimeäminen, joidenkin DataNode-lohkojen poistaminen, lohkojen luominen jne.

4. Tarkastuspiste:

Checkpoint-solmu on solmu, joka loi tiedostojen tarkistuspisteen säännöllisin väliajoin. Tarkasta pistesolmu HDFS: ssä, lataa FsImage ja EditLogs NameNode-tiedostosta ja yhdistä ne uuden kuvan luomiseksi ja lähetä uusi kuva NameNode-tiedostoon. Viimeisin tarkistuspiste tallennetaan hakemistoon, jolla on sama rakenne kuin namenoodin hakemistoon. Tämän vuoksi tarkistuspiste on aina saatavilla, jos sitä tarvitaan.

5. Varmuussolmu:

Varmuuskopiosolmun toiminta on samanlainen kuin Checkpoint-solmun suorittamalla tarkistuspistetehtävä. Hadoopissa varmuuskopiointisolmu tallentaa uusimman ja päivitetyn kopion tiedostojärjestelmän nimitilasta. FsImage- ja editsLogs-tiedostoja ei tarvitse ladata aktiivisesta NameNode-tiedostosta, jotta varmuuskopio-solmuun luodaan tarkistuspiste, koska se on synkronoitu aktiivisen NameNode-tilan kanssa. Varmuuskopiointisolmun toiminta on tarkempi, koska tallenna nimitila paikalliseen FsImage-tiedostoon ja nollaa editLogs.

6. Lohkot:

Kaikki käyttäjien tiedot tallennetaan HDFS-tiedostoihin, jotka jaetaan sitten pieniin segmentteihin. Nämä segmentit tallennetaan DataNodeihin. DataNodeissa olevia segmenttejä kutsutaan lohkoksi. Näiden lohkojen oletuskoko on 128 Mt. Lohkon kokoa voidaan muuttaa käyttäjien vaatimusten mukaan määrittämällä HDFS.

Jos datan koko on pienempi kuin lohkon koko, niin lohkon koko on yhtä suuri kuin datan koko. Esimerkiksi, jos tiedot ovat 135 Mt, se luo 2 lohkoa. Yksi on oletuskoko 128 Mt ja toinen vain 7 Mt, ei 128 Mt. Tämän vuoksi paljon tilaa ja levyn kellonaika säästyy.

Replikoinnin hallinta HDFS-arkkitehtuurissa:

HDFS on vikasietoinen. Vikasietoisuus on järjestelmän voima vikojen sattuessa ja kuinka se reagoi virheisiin ja vaikeisiin olosuhteisiin. Vikasietoisuus toimii kopioiden luomisprosessissa. Kopiot käyttäjän tiedoista tallennetaan koneisiin DHFS-klusteriin. Siksi, jos järjestelmässä on vika tai vika, kopio kyseisistä tiedoista voidaan käyttää muissa HDFS-klusterin koneissa. Jokaisessa HDFS-arkkitehtuurin lohkossa on 3 replikoa, jotka tallennetaan eri DataNodeihin. NameNode ylläpitää DataNodes-muodossa saatavissa olevia kopioita. NameNode lisää tai poistaa kopioita alle toistettujen tai liian monistettujen lohkojen ehtojen perusteella.

Kirjoita toiminta

Tiedostojen kirjoittamiseksi HDFS: lle asiakas kommunikoi metatiedot NameNode: n kanssa. Nimikoodi vastaa useilla lohkoilla, niiden sijainnilla, kopioilla jne. Asiakas jakaa tiedostot useisiin lohkoihin nimikooditietojen perusteella. Sitten se alkaa lähettää heidät DataNodelle. Ensin asiakas lähettää lohkon A DataNode 1: lle muilla DataNodes-tietoilla. Kun DataNode 1 vastaanottaa asiakkaan lohkon A, DataNode 1 kopioi saman lohkon samaan telineeseen DataNode 2. Koska molemmat DataNodes ovat samassa telineessä, lohko siirretään telinekytkimen kautta. DataNode 2 kopioi nyt saman lohkon DataNode 3: een. Koska molemmat DataNodes ovat erilaisissa telineissä, lohko siirretään telineen ulkopuolella olevan kytkimen kautta. Kun DataNode on vastaanottanut asiakkaan lohkot, se lähettää vahvistuksen NameModelle. Jokaisessa tiedoston lohkossa sama prosessi toistetaan.

Lue käyttö

Luku-operaatiota varten ensimmäinen asiakas viestii metatiedoista NameNode: lle. Asiakas poistuu NameNode-tiedostosta tiedostonimen ja sijainnin kanssa. Nimikoodi vastaa lohkon numerolla, sijainnilla, kopioilla ja muilla tiedoilla. Sen jälkeen asiakas kommunikoi DataNodes-palvelun kanssa. NameNode-tiedostolta saatujen tietojen perusteella asiakas alkaa lukea dataa rinnakkain DataNodeista. Kun asiakas tai sovellus vastaanottaa kaikki tiedoston lohkot, se yhdistää nämä lohkot alkuperäiseen tiedostoon.

Johtopäätös - HDFS-arkkitehtuuri

NameNode- ja DataNode-sovellusten avulla se tallentaa luotettavasti erittäin suuret tiedostot koneiden välillä suuressa klusterissa. Vikasietoisuuden vuoksi on hyödyllistä käyttää tietoja, kun ohjelmisto- tai laitteistovika. Näin HDFS-arkkitehtuuri toimii.

Suositellut artikkelit

Tämä on ollut opas HDFS-arkkitehtuuriin. Tässä keskustelimme peruskonsepteista erityyppisten arkkitehtuurien, ominaisuuksien ja replikaationhallinnan kanssa HDFS-arkkitehtuurilla. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Mikä on tietojen mallintaminen?
  2. Mikä on datan visualisointi
  3. Mikä on tietovarasto?
  4. Mikä on SQL-kehittäjä?

Luokka: