Mikä Hadoop on? Johdanto, Archirakenne, ekosysteemi, komponentit

Mikä Hadoop on?

Apache Hadoop on avoimen lähdekoodin ohjelmistokehys, jota käytetään hajautetussa laskentaympäristössä suoritettavien tietojenkäsittelysovellusten kehittämiseen.

HADOOP:illa rakennettuja sovelluksia ajetaan suurilla tietojoukoilla, jotka on jaettu hyödyketietokoneklustereihin. Tavaratietokoneet ovat halpoja ja laajalti saatavilla. Nämä ovat pääasiassa hyödyllisiä suuremman laskentatehon saavuttamiseksi alhaisin kustannuksin.

Samoin kuin henkilökohtaisen tietokonejärjestelmän paikallisessa tiedostojärjestelmässä olevat tiedot, Hadoopissa tiedot sijaitsevat hajautetussa tiedostojärjestelmässä, jota kutsutaan nimellä Hadoop Distributed File System. Käsittelymalli perustuu 'Data Locality' käsite, jossa laskennallinen logiikka lähetetään dataa sisältäville klusterisolmuille (palvelimelle). Tämä laskennallinen logiikka ei ole mitään, vaan käännetty versio ohjelmasta, joka on kirjoitettu korkean tason kielellä, kuten esim. Java. Tällainen ohjelma käsittelee tallennettuja tietoja Hadoop HDFS.

Tiedätkö? Tietokoneklusteri koostuu joukosta useita prosessointiyksiköitä (tallennuslevy + prosessori), jotka on kytketty toisiinsa ja toimivat yhtenä järjestelmänä.

Hadoop EcoSystem ja komponentit

Alla oleva kaavio näyttää Hadoop-ekosysteemin eri komponentit-

Hadoop EcoSystem ja komponentit

Apache Hadoop koostuu kahdesta osaprojektista –

  1. Hadoop MapReduce: MapReduce on laskennallinen malli ja ohjelmistokehys Hadoopilla ajettavien sovellusten kirjoittamiseen. Nämä MapReduce-ohjelmat pystyvät käsittelemään valtavia tietoja rinnakkain suurissa laskentasolmuryhmissä.
  2. HDFS (Hadoopin hajautettu tiedostojärjestelmä): HDFS huolehtii Hadoop-sovellusten tallennusosasta. MapReduce-sovellukset kuluttavat dataa HDFS:stä. HDFS luo useita kopioita tietolohkoista ja jakaa ne klusterin laskentasolmuihin. Tämä jakauma mahdollistaa luotettavat ja erittäin nopeat laskennat.

Vaikka Hadoop tunnetaan parhaiten MapReducesta ja sen hajautetusta tiedostojärjestelmästä HDFS, termiä käytetään myös hajautettujen tietojenkäsittelyn ja laajamittaisen tietojenkäsittelyn piiriin kuuluvien projektien perheeseen. Muut Hadoopiin liittyvät projektit osoitteessa Apache sisältävät ovat Hive, HBase, Mahout, Sqoop, Flume ja ZooKeeper.

Hadoop Archirakenne

Hadoop Archirakenne
Korkean tason Hadoop Archirakenne

Hadoopilla on Master-Slave ArchiTietojen tallennuksen ja hajautetun tietojenkäsittelyn rakenne MapReduce ja HDFS-menetelmiä.

NameNode:

NameNode edusti kaikkia nimiavaruudessa käytettyjä tiedostoja ja hakemistoja

DataNode:

DataNode auttaa hallitsemaan HDFS-solmun tilaa ja mahdollistaa vuorovaikutuksen lohkojen kanssa

MasterNode:

Pääsolmun avulla voit suorittaa tietojen rinnakkaisen käsittelyn Hadoop MapReducen avulla.

Orjasolmu:

Orjasolmut ovat Hadoop-klusterin lisäkoneita, joiden avulla voit tallentaa tietoja monimutkaisten laskelmien suorittamista varten. Lisäksi kaikissa orjasolmuissa on Task Tracker ja DataNode. Tämän avulla voit synkronoida prosessit NameNoden ja Job Trackerin kanssa.

Hadoopissa isäntä- tai orjajärjestelmä voidaan määrittää pilveen tai paikan päällä

Hadoopin ominaisuudet

• Soveltuu Big Data -analyysiin

Koska Big Data on yleensä hajautettua ja strukturoimatonta, HADOOP-klusterit soveltuvat parhaiten Big Datan analysointiin. Koska se on käsittelylogiikka (ei varsinainen data), joka virtaa laskentasolmuihin, verkon kaistanleveyttä kuluu vähemmän. Tätä käsitettä kutsutaan nimellä datapaikan käsite mikä auttaa lisäämään Hadoop-pohjaisten sovellusten tehokkuutta.

• Skaalautuvuus

HADOOP-klustereita voidaan helposti skaalata mihin tahansa määrään lisäämällä lisää klusterisolmuja, mikä mahdollistaa Big Datan kasvun. Skaalaus ei myöskään vaadi muutoksia sovelluslogiikkaan.

• Vikasietoisuus

HADOOP-ekosysteemissä on mahdollisuus replikoida syöttötiedot muihin klusterin solmuihin. Näin tietojenkäsittely voi silti edetä klusterin solmuvirheen sattuessa käyttämällä toiseen klusterisolmuun tallennettua dataa.

Verkkotopologia Hadoopissa

Verkon topologia (järjestely) vaikuttaa Hadoop-klusterin suorituskykyyn, kun Hadoop-klusterin koko kasvaa. Suorituskyvyn lisäksi on huolehdittava myös korkeasta käytettävyydestä ja vikojen käsittelystä. Tämän Hadoopin saavuttamiseksi klusterin muodostus käyttää verkkotopologiaa.

Verkkotopologia Hadoopissa

Tyypillisesti verkon kaistanleveys on tärkeä tekijä, joka on otettava huomioon verkkoa muodostettaessa. Koska kaistanleveyden mittaaminen voi kuitenkin olla vaikeaa, Hadoopissa verkko esitetään puuna ja tämän puun solmujen välistä etäisyyttä (hyppyjen lukumäärää) pidetään tärkeänä tekijänä Hadoop-klusterin muodostumisessa. Tässä kahden solmun välinen etäisyys on yhtä suuri kuin niiden etäisyyden summa lähimpään yhteiseen esi-isään.

Hadoop-klusteri koostuu datakeskuksesta, telineestä ja solmusta, joka todella suorittaa töitä. Tässä datakeskus koostuu telineistä ja teline koostuu solmuista. Prosessien käytettävissä oleva verkon kaistanleveys vaihtelee prosessien sijainnin mukaan. Toisin sanoen käytettävissä oleva kaistanleveys pienenee, kun poistumme

  • Prosessit samassa solmussa
  • Eri solmut samassa telineessä
  • Solmut saman datakeskuksen eri telineissä
  • Solmut eri datakeskuksissa