In questo blog di Hadoop Tutorial, tratteremo HDFS Disk Balancer in dettaglio. Prima di tutto discuteremo cos'è Disk Balancer in Hadoop, quindi discuteremo varie operazioni di Hadoop Disk Balancer.
Discuteremo anche l'Intra DataNode Disk Balancer in hadoop e il suo algoritmo. Infine, in questo tutorial, tratteremo le caratteristiche di Hadoop HDFS Disk Balancer in dettaglio.
Introduzione a HDFS Disk Balancer
Bilanciatore disco HDFS è uno strumento da riga di comando. Distribuisce i dati in modo uniforme su tutti i dischi di un nodo dati. HDFS Disk Balancer è completamente diverso da Balancer, che si occupa del bilanciamento dei dati a livello di cluster.
Per i motivi seguenti, HDFS potrebbe non distribuire sempre i dati in modo uniforme sui dischi:
- Molte scritture e cancellazioni
- Sostituzione del disco
Ciò porta a un'inclinazione significativa all'interno di un DataNode. Quindi HDFS Balancer non è in grado di gestire questo problema, che si occupa di Inter, Non-Intra, DN skew.
Quindi, è nata la nuova funzionalità di bilanciamento intra-datanode per far fronte a questa situazione. Viene richiamato tramite la CLI di HDFS Disk Balancer.
Disk Balancer funziona su un dato nodo di dati e sposta i blocchi da un disco all'altro.
Funzionamento di Disk Balancer
Creando un piano (un insieme di istruzioni) ed eseguendo quel piano sul nodo dati, HDFS Disk Balancer funziona. Questi insiemi di istruzioni descrivono la quantità di dati da spostare tra due dischi.
Un piano ha molti passaggi di movimento. Questi passaggi di spostamento hanno un numero di byte da spostare, disco di origine e disco di destinazione. Un piano può essere eseguito su un nodo dati operativo.
Il servizio di bilanciamento del disco HDFS non è abilitato per impostazione predefinita;
Quindi, per abilitare il servizio di bilanciamento del disco HDFS dfs.disk.balancer.enabled è impostato vero in hdfs-site.xml .
DiskBalancer intra-DataNode HDFS
Quando l'utente scrive un nuovo blocco in HDFS, quindi, utilizzando il volume scegliendo il criterio datanode, scegli il disco per il blocco. Di seguito sono elencate due di queste politiche:
- Giro all'italiana – Questa politica distribuisce i nuovi blocchi in modo uniforme sui dischi disponibili.
- Spazio disponibile – Questa norma scrive i dati sul disco che ha più spazio libero in percentuale.
Per impostazione predefinita, HDFS DataNode utilizza la politica Round-robin.
Datanode crea ancora un volume di squilibrio significativo a causa della massiccia eliminazione e aggiunta di file in HDFS. È anche possibile che la politica di scelta del volume basata sullo spazio disponibile possa portare a un I/O del disco meno efficiente.
Ogni nuova scrittura andrà al nuovo disco vuoto aggiunto mentre in quel momento gli altri dischi erano inattivi. Pertanto, creando un collo di bottiglia sul nuovo disco.
Per ridurre il problema dello squilibrio dei dati, la comunità di Apache Hadoop ha sviluppato script offline per i server. HDFS-1312 ha introdotto anche un servizio di bilanciamento del disco online. Questo ribilancia i volumi su un nodo dati in esecuzione in base a varie metriche.
Capacità di HDFS Disk Balancer
1. Rapporto sulla diffusione dei dati
L'utente può misurare come diffondere i dati attraverso le metriche.
a) Densità dati volume o Densità dati intranodo
Questa metrica può calcolare la quantità di dati presente su un nodo. Indica anche qual è lo spazio di archiviazione ideale su ciascun volume.
Formula per il calcolo, ovvero il totale dei dati in quel nodo diviso per la capacità totale del disco di quel nodo.
Spazio di archiviazione ideale = % di capacità totale utilizzata totale
Densità dei dati del volume = spazio di archiviazione ideale – dfsUsedRatio
- Valore positivo- Ciò indica che il disco è sottoutilizzato.
- Valore negativo- Ciò indica che il disco è sovrautilizzato.
b) Densità dei dati del nodo o densità dei dati tra i nodi
Come ora abbiamo calcolato la densità dei dati di volume. Quindi, possiamo confrontare facilmente quali tutti i nodi nel data center devono bilanciare?
c) Rapporti
Ora abbiamo la densità dei dati del volume e la densità dei dati dei nodi. In questo modo il servizio di bilanciamento del disco può bilanciare i primi 20 nodi del cluster che hanno una distribuzione dei dati distorta.
2. Bilancia i dati tra il volume mentre i datanode sono attivi
Il servizio di bilanciamento del disco HDFS ha la capacità di spostare i dati da un volume all'altro.
Conclusione
In conclusione, possiamo dire che Disk Balancer è lo strumento che distribuisce i dati su tutti i dischi di un datanode. Funziona creando un piano (insieme di istruzioni) ed eseguendo quel piano sul datanode.
HDFS Disk Balancer utilizza Round-Robin e Spazio disponibile criteri per la scelta del disco per il blocco. Se trovi utile questo blog o hai qualche domanda, condividi con noi nella sezione commenti. Saremo lieti di risolverli.