what is hadoop apache hadoop tutorial
Denne Apache Hadoop-veiledningen for nybegynnere forklarer alt om Big Data Hadoop, dets funksjoner, rammeverk og arkitektur i detalj:
gratis timelisteprogramvare for små bedrifter
I den forrige opplæringen diskuterte vi Big Data i detalj. Nå er spørsmålet hvordan vi kan håndtere og behandle et så stort datamengde med pålitelige og nøyaktige resultater.
Det er virkelig en flott løsning levert av Apache og drevet av Java, dvs. Hadoop Framework .
=> Les gjennom Easy BigData Training Series.
Hva du vil lære:
Hva er Hadoop?
Apache Hadoop er et open source-rammeverk for å administrere alle typer data (Structured, Unstructured og Semi-structured).
Som vi alle vet, hvis vi ønsker å behandle, lagre og administrere dataene våre, er RDBMS den beste løsningen. Men data skal være i et strukturert format for å håndtere det med RDBMS. Også, hvis størrelsen på data øker, er ikke RDBMS i stand til å håndtere dem, og vi må utføre opprydding av databaser regelmessig.
Dette kan føre til historisk tap av data og kan ikke generere nøyaktige og pålitelige resultater i noen av bransjene som værmelding, bank, forsikring, salg osv. Et annet problem med RDBMS er at hvis hovedserveren går ned, kan vi miste det viktige data og lider mye.
I denne veiledningen vil vi se hvordan vi kan løse disse problemene med Apache Hadoop.
Hadoop er et distribuert filsystem og kan lagre store datamengder (data i petabyte og terabyte). Databehandlingshastigheten er også veldig rask og gir pålitelige resultater siden den har et veldig høyt feiltoleransesystem.
Hadoop er et Java-basert open source-programmeringsrammeverk som støtter lagring og behandling av store datasett i et distribuert datamiljø.
Hadoop er basert på et Cluster-konsept ved bruk av råvaremaskinvare. Det krever ingen kompleks konfigurasjon, og vi kan etablere Hadoop-miljøet med billigere, enkel og lett konfigurasjonsmaskinvare.
Klyngekonsept med enkle ord er dataene som er lagret i replikasjonsformat på flere maskiner, slik at når det oppstår problemer eller katastrofer på et av stedene der dataene befinner seg, må det være en kopi av dataene trygt tilgjengelig på et annet sted .
Hadoop mot RDMBS
Nedenfor er noen punkter som beskriver fordelene med Hadoop i forhold til RDBMS.
Egenskaper | Hadoop | RDBMS |
---|---|---|
Oppbevaring | Meget høy lagringskapasitet. | Kan ikke lagre Bigdata. |
Arkitektur | Hadoop er basert på HDFS, MapReduce og YARN. | RDBMS er basert på ACID-egenskaper. |
Volum | Kan takle stort datamengde. | RDBMS kan ikke håndtere store datamengder. |
Variasjon / typer data | Kan håndtere strukturerte, semistrukturerte og ustrukturerte data som video, bilder, CSV-filer, xml etc. | Bare håndter strukturerte data. |
Hastighet | Rask behandling av store mengder data. | Veldig treg mens du behandler store mengder data. |
Gjennomstrømning | Høy gjennomstrømming. | Lav gjennomstrømning. |
Feiltoleranse | Veldig bra | Kan ikke gjenopprette tapte data hvis hovedserveren går ned. |
Pålitelig | Veldig pålitelig og genererer nøyaktige historiske og aktuelle rapporter. | Ikke pålitelig når det gjelder Bigdata. |
Hadoop-funksjoner
Vi vet nå den eksakte definisjonen av Hadoop. La oss gå et skritt fremover og bli kjent med terminologiene vi bruker i Hadoop, lære arkitekturen og se hvordan den fungerer på Bigdata.
Hadoop-rammeverket er basert på følgende konsepter eller moduler:
- Hadoop GARN
- Hadoop Common
- Hadoop HDFS ( H adoop D istribuert F med S ystem)
- Hadoop MapReduce
# 1) Hadoop GARN: GARN står for “ Y og TIL ikke annet R ressurs N egotiator ”som brukes til å administrere klyngeteknologien i skyen. Den brukes til jobbplanlegging.
# 2) Hadoop Common: Dette er de detaljerte bibliotekene eller verktøyene som brukes til å kommunisere med de andre funksjonene i Hadoop som YARN, MapReduce og HDFS.
# 3) Hadoop HDFS: Distribuert filsystem brukes i Hadoop til å lagre og behandle et stort datamengde. Det brukes også til å få tilgang til dataene fra klyngen.
# 4) Hadoop MapReduce: MapReduce er hovedfunksjonen til Hadoop som er ansvarlig for behandlingen av data i klyngen. Den bruker for jobbplanlegging og overvåking av databehandling.
Her har vi nettopp tatt med definisjonen av disse funksjonene, men vi vil se en detaljert beskrivelse av alle disse funksjonene i våre kommende opplæringsprogrammer.
Hadoop Arkitektur
La oss lære rammeverkets arkitektur og se hvilke komponenter som brukes i den. Dette rammeverket følger en master-slave-arkitektur i klyngen.
Følgende er Hadoop-komponentene:
- HDFS
- Kart reduksjon
- GARN
Dette er de tre viktige komponentene i Hadoop-arkitekturen. Vi bør også forstå noen av terminologiene eller konseptene i arkitekturen og se hvordan de fungerer.
- Navneknute
- Data Node
- Secondary Name Node
- Blokker
# 1) Navneknute
Name Node er hovednoden i HDFS. Den inneholder metadata for HDFS som filinformasjon, katalogstruktur, blokkeringsinformasjon og all informasjon fra Data Node osv. Navnode er bare ansvarlig for data eller filtilgang fra klienten. Den sporer alle transaksjoner eller endringer som er gjort i filer.
Det fungerer hovedsakelig på to filer, dvs. FsImage og EditLogs . Name Node har en JobTracker som inneholder alle detaljene i Data Node som hvilken Data Node som har hvilken oppgave, hvor mange blokker som er der med hver Data Node, hjerterytmen til hver Data Node, jobbplanleggingsdetaljer i klyngen, etc.
Kort sagt kan vi si at en JobTracker inneholder TaskTracker av hver datanode.
# 2) Datanode
Data Node er Slave Node i HDFS. Data Node er ansvarlig for faktisk lagring og behandling av data. Hovedoppgaven er å dele opp jobben i tre blokker og lagre den i forskjellige datanoder. Etter det begynner behandlingen av dataene.
Dessuten har den TaskTracker som har full informasjon om hver blokk og hvilken blokk som er ansvarlig for hvilken oppgave, hvilke blokker som har fullført oppgaven osv., Og etter å ha behandlet dataene sender den informasjonen til Navnode. Hver gang Data Node starter, sender den all informasjonen igjen til Name Node.
# 3) Sekundær navneknute
Secondary Name Node brukes i tilfelle feiltoleranse. Det er to scenarier der Navneknotten er nede, og hele Hadoop-strukturen mislykkes fordi Navneknotten er det eneste feilpunktet.
(i) Hvis Name Node starter på nytt på grunn av et problem enn det tok å komme opp igjen, da det har en enorm mengde data, så for å gjenopprette at det tar tid.
(ii) I tilfelle et krasj ved navneknute, vil alle HDFS-data miste og kan ikke gjenopprette dem igjen, da navneknute er det eneste feilpunktet. Således, for å overvinne disse problemene, er Secondary Name Node der. Den inneholder også et navneområdebilde og redigeringslogger er det samme som navneodden.
Etter en viss periode vil det kopiere Navneområdebildet og oppdatere Rediger-loggene fra Navnoden. Dermed, i tilfelle en feil på navneknuten, kommer sekundærnavnen inn i bildet og oppfører seg som den primære navneknuten. På grunn av denne prosessen forhindrer den total feil.
# 4) Blokker
Blokker er den minste enheten i HDFS. Hadoop kan behandle en enorm mengde fil når den deler den i små blokker. Vi kan si at blokker ikke er annet enn dataene til en enorm fil. Størrelsen på hver blokk er 128 MB. Disse blokkene lagres i datanoder og behandler dataene.
La oss nå lære Hadoop-arkitekturen å forstå hvordan den fungerer.
Hadoop distribuert filsystem (HDFS) er filsystemet som brukes i Hadoop-klyngen. Hovedsakelig brukes HDFS til å lagre Hadoop-data i klyngen. HDFS jobber generelt med sekvensiell databehandling. Som vi allerede vet er det basert på Master-Slave-arkitektur.
Alle metadataene til klyngen lagres i Navneknuten i JobTracker, og de faktiske dataene lagres i Data Node for HDFS i TaskTracker.
MapReduce er ansvarlig for behandlingen av data. Når en fil kommer inn i klyngen for behandling, deler den første datanoden den i blokker, og hver blokk inneholder 64 MB data, og den kan lagre 128 MB. Deretter vil hver blokk replikere seg to ganger og lagre i forskjellige datanoder hvor som helst i klyngen.
All denne informasjonen vil bli sendt til Name Node og Name Node vil lagre denne informasjonen i form av metadata. Da vil den faktiske behandlingen av dataene starte Data Node og sende hjerterytme til Navnoden hvert tredje sekund, slik at Navnoden har informasjonen som denne Datanoden jobber med.
Hvis noen av Data Node ikke klarer å sende hjerterytme, oppretter Navnekoden igjen kopien av den blokken på en annen Data Node og begynner behandlingen.
All denne informasjonen eller øyeblikksbildene vil bli lagret i FsImage, og hvis noen transaksjoner er utført, slår redigeringsloggen sammen den nye informasjonen og beholder alltid en fersk kopi av loggene.
Blokken som fullfører oppgaven først vil bli tatt, og Data Node sender informasjon til Name Node og Name Node vil ta handlingen tilsvarende.
I hele denne prosessen vil YARN støtte og gi nødvendige ressurser til systemet, slik at det ikke påvirker databehandling og hastighet. Etter behandling av dataene blir resultatene lagret i HDFS for videre analyse.
Konklusjon
I denne opplæringen lærte vi hva som er Hadoop, forskjeller mellom RDBMS vs Hadoop, Fordeler, komponenter og arkitektur av Hadoop.
Dette rammeverket er ansvarlig for å behandle store data og analysere det. Vi så MapReduce, YARN og HDFS jobber i klyngen.
Merk: Følgende er konfigurasjonsdetaljene for Name Node og Data Node. Secondary Name Node vil ha samme konfigurasjon som Name Node.
Navnode konfigurasjon:
Prosessorer: 2 firekjerners CPUer som kjører @ 2 GHz
RAM: 128 GB
Disk: 6 x 1 TB SATA
Nettverk: 10 Gigabit Ethernet
Data Node Configuration:
Prosessorer: 2 firekjerners CPUer som kjører @ 2 GHz
RAM: 64 GB
Disk: 12-24 x 1 TB SATA
Nettverk: 10 Gigabit Ethernet
=> Ta en titt på Big Data Beginners Guide her.
Anbefalt lesing
- Big Data Tutorial for nybegynnere | Hva er Big Data?
- 20+ MongoDB-opplæring for nybegynnere: Gratis MongoDB-kurs
- Hvordan sette opp Node.js Testing Framework: Node.js Tutorial
- Data Mart Tutorial - Typer, eksempler og implementering av Data Mart
- In-Depth Eclipse Tutorials For Beginners
- Python-opplæring for nybegynnere (praktisk GRATIS Python-trening)
- Datadrevet rammeverk i Selenium WebDriver ved hjelp av Apache POI
- LoadRunner-veiledning for nybegynnere (gratis 8-dagers dybdekurs)