what is hadoop apache hadoop tutorial
Aquest tutorial d'Apache Hadoop per a principiants explica tot sobre Big Data Hadoop, les seves característiques, marc i arquitectura en detall:
automatitzar la compilació us ajudarà
Al tutorial anterior, vam parlar detalladament del Big Data. Ara la qüestió és com podem gestionar i processar un volum tan gran de dades amb resultats fiables i precisos.
De fet, hi ha una gran solució proporcionada per Apache i impulsada per Java, és a dir, Marc Hadoop .
=> Llegiu la sèrie de formació Easy BigData.
Què aprendreu:
Què és Hadoop?
Apache Hadoop és un marc de codi obert per gestionar tot tipus de dades (estructurades, no estructurades i semiestructurades).
Com tots sabem, si volem processar, emmagatzemar i gestionar les nostres dades, RDBMS és la millor solució. Però les dades haurien d’estar en un format estructurat per gestionar-les amb RDBMS. A més, si augmenta la mida de les dades, llavors el RDBMS no és capaç de gestionar-les i hem de fer una neteja de la base de dades periòdicament.
Això pot provocar pèrdues històriques de dades i no pot generar resultats precisos i fiables en algunes de les indústries, com ara Previsió meteorològica, Banca, Assegurances, Vendes, etc. Un altre problema amb RDBMS és que, si el servidor principal cau, podem perdre dades i pateixen molt.
En aquest tutorial, veurem com podem superar aquests problemes amb Apache Hadoop.
Hadoop és un sistema de fitxers distribuït i pot emmagatzemar grans volums de dades (dades en petabyte i terabyte). La velocitat de processament de dades també és molt ràpida i proporciona resultats fiables, ja que té un sistema de tolerància a fallades molt alt.
Hadoop és un marc de programació de codi obert basat en Java que admet l’emmagatzematge i el processament de conjunts de dades grans en un entorn informàtic distribuït.
Hadoop es basa en un concepte de clúster que utilitza maquinari bàsic. No requereix cap configuració complexa i podem establir l’entorn Hadoop amb maquinari de configuració més barat, senzill i lleuger.
El concepte de clúster en paraules simples és les dades que s’emmagatzemen en format de rèplica en diverses màquines, de manera que, quan es produeix algun problema o desastre en una de les ubicacions on resideixen les dades, hi ha d’haver una còpia duplicada de les dades disponibles de manera segura en una altra ubicació .
Hadoop Vs RDMBS
A continuació, es detallen alguns punts que descriuen els avantatges d’Hadoop respecte als RDBMS.
Característiques | Hadoop | RDBMS |
---|---|---|
Emmagatzematge | Capacitat d'emmagatzematge molt alta. | No es pot emmagatzemar Bigdata. |
Arquitectura | Hadoop es basa en HDFS, MapReduce i YARN. | RDBMS es basa en propietats ACID. |
Volum | Pot gestionar un gran volum de dades. | RDBMS no pot gestionar un gran volum de dades. |
Varietat / tipus de dades | Pot gestionar dades estructurades, semiestructurades i no estructurades com ara vídeo, imatges, fitxers CSV, XML, etc. | Gestioneu només les dades estructurades. |
Velocitat | Processament ràpid de dades de gran quantitat. | Molt lent mentre es processa una gran quantitat de dades. |
Rendiment | Alt rendiment. | Baix rendiment. |
Falta de tolerància | Molt bé | No es pot recuperar les dades perdudes si el servidor principal cau. |
Fiable | Molt fiable i genera informes històrics i actuals precisos. | No és fiable en termes de Bigdata. |
Funcions de Hadoop
Ara coneixem la definició exacta d’Hadoop. Fem un pas endavant i familiaritzem-nos amb les terminologies que fem servir a Hadoop, aprenem la seva arquitectura i vegem com funciona exactament a Bigdata.
El marc Hadoop es basa en els següents conceptes o mòduls:
- Hadoop YARN
- Hadoop comú
- Hadoop HDFS ( H adoop D repartit F amb S ystem)
- Hadoop MapReduce
# 1) HADOOP YARN: YARN significa ' I i A nother R esource N egoiator ”que s’utilitza per gestionar la tecnologia de clústers del núvol. S'utilitza per a la programació de treballs.
# 2) Hadoop comú: Aquestes són les biblioteques o utilitats detallades que s’utilitzen per comunicar-se amb les altres funcions d’Hadoop com YARN, MapReduce i HDFS.
# 3) Hadoop HDFS: El sistema de fitxers distribuït s’utilitza a Hadoop per emmagatzemar i processar un gran volum de dades. També s’utilitza per accedir a les dades des del clúster.
# 4) Hadoop MapReduce: MapReduce és la principal característica d’Hadoop que s’encarrega del processament de dades al clúster. S'utilitza per a la programació de treballs i el control del processament de dades.
Aquí acabem d’incloure la definició d’aquestes funcions, però veurem una descripció detallada de totes aquestes funcions als nostres propers tutorials.
Arquitectura Hadoop
Aprenem l’arquitectura del marc i veiem quins components s’utilitzen. Aquest marc segueix una arquitectura mestre-esclau al clúster.
A continuació es mostren els components d’Hadoop:
- HDFS
- MapReduce
- FILAT
Aquests són els tres components importants de l’arquitectura Hadoop. També hauríem d’entendre algunes de les terminologies o conceptes de l’Arquitectura i veure com funcionen.
- Nom del node
- Node de dades
- Node de nom secundari
- Blocs
# 1) Nom del node
Name Node és el node principal de HDFS. Conté metadades de HDFS com informació de fitxers, estructura de directoris, informació de blocs i tota la informació de Data Node, etc. Name Node només és responsable de l'accés a les dades o fitxers des del client. Fa un seguiment de totes les transaccions o canvis realitzats als fitxers.
Funciona principalment en dos fitxers, és a dir, FsImage i EditLogs . Nom de node té un JobTracker que conté tots els detalls del node de dades, com ara quin node de dades té quina tasca, quants blocs hi ha amb cada node de dades, el batec del cor de cada node de dades, detalls de la programació de treballs al clúster, etc.
En resum, podem dir que un JobTracker conté TaskTracker de cada node de dades.
# 2) Node de dades
Data Node és el node esclau en HDFS. Data Node és responsable de l’emmagatzematge i processament real de les dades. La seva tasca principal és dividir la feina en tres blocs i emmagatzemar-la en diferents nodes de dades. Després d'això es comença a processar les dades.
A més, disposa de TaskTracker, que conté tota la informació de cada bloc i quin bloc és responsable de quina tasca, quins blocs ha completat la tasca, etc. i després de processar les dades, envia la informació al nom del node. Cada vegada que s'inicia el node de dades, torna a enviar tota la informació al node de nom.
# 3) Node de nom secundari
Node de nom secundari s'utilitza en cas de tolerància a fallades. Hi ha dos escenaris en què el node de noms està inactiu i l’estructura completa de Hadoop fallarà perquè el node de nom és l’únic punt d’error.
(i) Si Name Node es reinicia a causa d'algun problema del que va trigar a tornar a aparèixer, ja que té una gran quantitat de dades, llavors es necessita temps per recuperar-la.
(ii) En cas de bloqueig de Name Node, totes les dades HDFS es perdran i no es podran recuperar de nou, ja que Name Node és l'únic punt d'error. Per tant, per superar aquests problemes, hi ha el node de nom secundari. També conté una imatge d’espai de noms i registres d’edició iguals que el node de noms.
Després d'un període determinat, copiarà la imatge de l'espai de noms i actualitzarà els registres d'edició des del node de noms. Així, en el cas d’un error del node de noms, el node de nom secundari apareix a la imatge i es comporta com el node de nom principal. A causa d’aquest procés, evita el fracàs total.
# 4) Blocs
Els blocs són la unitat més petita del HDFS. Hadoop pot processar una gran quantitat de fitxers ja que els divideix en petits blocs. Podem dir que els blocs no són res més que les dades d’un fitxer enorme. La mida de cada bloc és de 128 MB. Aquests blocs es guarden als nodes de dades i processen les dades.
Ara, aprenem l’arquitectura de l’Hadoop per entendre el seu funcionament.
El sistema de fitxers distribuïts Hadoop (HDFS) és el sistema de fitxers que s’utilitza al clúster Hadoop. Principalment HDFS s’utilitza per emmagatzemar dades Hadoop al clúster. HDFS sol treballar en un processament seqüencial de dades. Com ja sabem, es basa en l'arquitectura Master-Slave.
Totes les metadades del clúster es desen al node de noms del JobTracker i les dades reals s’emmagatzemen al node de dades de l’HDFS al TaskTracker.
MapReduce és responsable del processament de dades. Sempre que un fitxer entra al clúster per processar-lo, el primer node de dades el divideix en blocs i cada bloc conté 64 MB de dades i pot emmagatzemar 128 MB. A continuació, cada bloc es replicarà dues vegades i s'emmagatzemarà en nodes de dades diferents a qualsevol lloc del clúster.
Tota aquesta informació s’enviarà al nom del node i el nom del node emmagatzemarà aquesta informació en forma de metadades. A continuació, el processament real de les dades iniciarà el node de dades i enviarà un batec del cor al nom de node cada tres segons perquè el node de nom tingui la informació en què treballa aquest node de dades.
Si algú del node de dades falla en enviar els batecs del cor, el node de nom torna a crear la rèplica d'aquest bloc en un altre node de dades i comença a processar-se.
Tota aquesta informació o instantànies s’emmagatzemaran a FsImage i, si es realitza alguna transacció, editeu el registre, fusioneu la informació nova i sempre guardeu una nova còpia dels registres.
Es prendrà el bloc que finalitzi la tasca primer i el node de dades envia informació al node de nom i el node de nom realitzarà l'acció en conseqüència.
En tot aquest procés, YARN donarà suport i proporcionarà els recursos necessaris al sistema, de manera que no afecti el processament de dades i la velocitat. Després de processar les dades, els resultats es guardaran a HDFS per a una anàlisi posterior.
Conclusió
En aquest tutorial, hem après què és Hadoop, les diferències entre RDBMS i Hadoop, avantatges, components i arquitectura d’Hadoop.
Aquest marc s’encarrega de processar i analitzar big data. Vam veure que MapReduce, YARN i HDFS funcionaven al clúster.
Nota: A continuació es detallen els detalls de configuració del node de nom i del node de dades. El node de nom secundari tindrà la mateixa configuració que el node de noms.
Configuració del node de nom:
Processadors: 2 CPU de quatre nuclis que funcionen a 2 GHz
RAM: 128 GB
Disc: 6 x 1 TB SATA
Xarxa: 10 Gigabit Ethernet
Configuració del node de dades:
Processadors: 2 CPU de quatre nuclis que funcionen a 2 GHz
RAM: 64 GB
Disc: SATA de 12 a 24 x 1 TB
Xarxa: 10 Gigabit Ethernet
=> Mireu aquí la guia per a principiants del Big Data.
Lectura recomanada
- Tutorial de Big Data per a principiants | Què és el Big Data?
- 20+ Tutorial de MongoDB per a principiants: curs gratuït de MongoDB
- Com configurar el marc de proves Node.js: tutorial de Node.js
- Tutorial de Data Mart: tipus, exemples i implementació de Data Mart
- Tutorials Eclipse en profunditat per a principiants
- Tutorial Python per a principiants (entrenament pràctic GRATU PyT en Python)
- Marc basat en dades a Selenium WebDriver mitjançant Apache POI
- Tutorial LoadRunner per a principiants (curs gratuït de 8 dies de profunditat)