Introducció a HDFS

El Sistema de Fitxers Distribuït de Hadoop (HDFS) és un component clau de l'arquitectura de Hadoop. HDFS està dissenyat per emmagatzemar grans volums de dades de manera fiable i per proporcionar un accés ràpid a aquestes dades. A continuació, explorarem els conceptes bàsics d'HDFS, la seva arquitectura, les seves característiques principals i com utilitzar-lo.

Objectius d'aprenentatge

  • Comprendre la funció i la importància d'HDFS en l'ecosistema Hadoop.
  • Familiaritzar-se amb l'arquitectura d'HDFS.
  • Aprendre les característiques clau d'HDFS.
  • Conèixer les comandes bàsiques per interactuar amb HDFS.

Arquitectura d'HDFS

Components Principals

HDFS està format per dos components principals:

  1. Namenode: El servidor mestre que gestiona el sistema de fitxers i regula l'accés als fitxers per part dels clients.
  2. Datanodes: Els servidors que emmagatzemen les dades reals. Cada Datanode gestiona l'emmagatzematge de les dades en el node on s'executa.

Funcionament

  • Namenode: Manté la informació sobre la ubicació dels blocs de dades en els Datanodes. També gestiona les operacions de lectura i escriptura dels fitxers.
  • Datanodes: Emmagatzemen les dades en blocs i informen periòdicament al Namenode sobre l'estat dels blocs que emmagatzemen.

Diagrama de l'Arquitectura d'HDFS

+-----------------+       +-----------------+
|     Client      |       |     Client      |
+--------+--------+       +--------+--------+
         |                         |
         |                         |
         v                         v
+--------+--------+       +--------+--------+
|      Namenode   |       |      Namenode   |
+--------+--------+       +--------+--------+
         |                         |
         |                         |
         v                         v
+--------+--------+       +--------+--------+
|     Datanode    |       |     Datanode    |
+--------+--------+       +--------+--------+
         |                         |
         |                         |
         v                         v
+--------+--------+       +--------+--------+
|     Datanode    |       |     Datanode    |
+-----------------+       +-----------------+

Característiques Clau d'HDFS

  1. Alta Disponibilitat: HDFS replica les dades en múltiples Datanodes per garantir la disponibilitat i la tolerància a fallades.
  2. Escalabilitat: Pot gestionar petabytes de dades i escalar horitzontalment afegint més Datanodes.
  3. Tolerància a Fallades: En cas de fallada d'un Datanode, les dades es poden recuperar des d'altres Datanodes que contenen rèpliques dels blocs.
  4. Accés a Dades en Flux: Optimitzat per a lectures i escriptures seqüencials de grans volums de dades.

Comandes Bàsiques d'HDFS

Llistar Fitxers

hdfs dfs -ls /ruta/del/directori

Crear un Directori

hdfs dfs -mkdir /ruta/del/directori

Copiar Fitxers des del Sistema Local a HDFS

hdfs dfs -put /ruta/local/fitxer /ruta/hdfs/fitxer

Copiar Fitxers des d'HDFS al Sistema Local

hdfs dfs -get /ruta/hdfs/fitxer /ruta/local/fitxer

Eliminar Fitxers o Directoris

hdfs dfs -rm /ruta/hdfs/fitxer
hdfs dfs -rm -r /ruta/hdfs/directori

Exercicis Pràctics

Exercici 1: Crear i Llistar un Directori en HDFS

  1. Crea un directori anomenat exercici1 a HDFS.
  2. Llista el contingut del directori exercici1.

Solució

# Crear el directori
hdfs dfs -mkdir /exercici1

# Llistar el contingut del directori
hdfs dfs -ls /exercici1

Exercici 2: Copiar un Fitxer a HDFS i Descarregar-lo

  1. Copia un fitxer anomenat dades.txt des del sistema local a HDFS en el directori exercici1.
  2. Descarrega el fitxer dades.txt des d'HDFS al sistema local.

Solució

# Copiar el fitxer a HDFS
hdfs dfs -put /ruta/local/dades.txt /exercici1/dades.txt

# Descarregar el fitxer des d'HDFS
hdfs dfs -get /exercici1/dades.txt /ruta/local/dades.txt

Resum

En aquesta secció, hem après sobre el Sistema de Fitxers Distribuït de Hadoop (HDFS), incloent la seva arquitectura, components principals i característiques clau. També hem explorat algunes comandes bàsiques per interactuar amb HDFS i hem realitzat exercicis pràctics per reforçar els conceptes apresos. En la següent secció, aprofundirem en el Marc MapReduce, un altre component fonamental de l'ecosistema Hadoop.

© Copyright 2024. Tots els drets reservats