Migliore risposta
Bene, il fattore di replica è 3 Per impostazione predefinita in HDFS . In questo, uno è il blocco originale e due repliche.
Ma può essere Set da noi.
Lascia che ti spieghi come farlo.
Vedi, ci sono due modi per farlo. Uno è utilizzando il comando e altro è una modifica diretta in hdfs-site.xml file.
Il primo è semplice, devi solo digitare il comando come segue:
Puoi anche modificare il fattore di replica per file utilizzando la shell Hadoop FS .
[sawant@localhost ~]$ hadoop fs –setrep –w 3 /my/file
In alternativa, puoi modificare il fattore di replica di tutti i file in una directory.
[sawant@localhost ~]$ hadoop fs –setrep –w 3 -R /my/dir
come vedi il comando sopra, basta sostituire 3 con qualunque sia il tuo requisito.
Comprendiamo il secondo …
Apri il hdfs-site .xml file. Questo file si trova solitamente nella cartella conf / della directory di installazione di Hadoop. Modifica o aggiungi la seguente proprietà a hdfs-site.xml….
hdfs-site.xml viene utilizzato per configurare HDFS. La modifica della proprietà dfs.replication in hdfs-site.xml cambierà la replica predefinita per tutti i file inseriti in HDFS.
Nella proprietà dfs.replication sopra è sufficiente sostituire 3 con qualunque sia la tua esigenza.
Grazie !!
Risposta
La vera ragione per scegliere la replica di tre è che è il numero più piccolo che consente un design altamente affidabile. Esaminiamo unanalisi reale del perché.
Considera che perderai i dati se hai un guasto hardware sullhardware che memorizza ogni replica dei dati. Per i dischi rotanti moderni, il tasso di guasto è relativamente semplice ed è di circa il 5\% allanno (i numeri possono essere superiori o inferiori a seconda del metodo di stima e dellhardware acquistato). Se tutti i guasti sono indipendenti (non lo sono, in realtà dal momento che si ottengono batch danneggiati), significa che i singoli dischi si guastano a una velocità di circa 1,6e-9 errori al secondo e gli errori dovrebbero essere distribuiti secondo una distribuzione di Poisson. Un migliaio di dischi dovrebbe subire una perdita di dati a circa 1000 volte questa velocità in brevi periodi di tempo se non si presume alcuna replica.
Possiamo usare questi numeri per calcolare qualcosa chiamato tempo medio per la perdita di dati. Nel caso di disco singolo, hai una probabilità del 95\% di conservare i tuoi dati dopo un anno, ma nel caso di mille dischi, hai una possibilità trascurabile di evitare la perdita di dati dopo un anno. Francamente non credo che nemmeno il case del disco singolo sia accettabile.
Quindi replichiamo i dati.
Il case del disco da mille avrà circa 50 guasti allanno che si traducono in una perdita del disco ogni settimana circa. Ciò non significa che accadrà a intervalli settimanali esatti. Significa solo che il tempo medio tra i guasti del disco sarà di circa una settimana. Dopo un guasto del disco, dovremo replicare nuovamente i dati perché non vogliamo un sistema che si degrada nel tempo. Se riusciamo a replicare i dati prima che il disco successivo si guasti che contiene i nostri dati, il nostro sistema eviterà la perdita di dati a causa del primo errore.
Il trucco, tuttavia, è che il tempo tra i singoli dischi i guasti diminuiranno con laumentare delle dimensioni dei sistemi. Se progettiamo bene le cose, tuttavia, il tempo di ripetizione * diminuirà * nella stessa proporzione. Il tempo per il ripristino dipenderà dal numero di unità per macchina e dalla larghezza di banda di rete tra le macchine.
Ciò significa che possiamo fare una stima rapida del tempo medio per la perdita di dati abbastanza facilmente. Per due copie, dobbiamo calcolare il tasso di perdita del disco e quindi calcolare la probabilità di unaltra perdita del disco durante il tempo di ripristino per quella perdita. Per due copie, è necessario estenderlo al caso in cui due unità muoiono durante il tempo di ripristino della prima unità. Ciò è reso più complesso quando si esegue lo striping dei dischi e si hanno strategie di ripristino fantasiose che cercano di mantenere il normale funzionamento dopo il primo errore, ma che dedicano tutte le risorse al ripristino dopo il secondo errore.
Se fai i conti, una copia di dati ti dà una probabilità molto alta (quasi certa, in effetti) di perdere dati in un cluster di grandi dimensioni.
Per due copie, hai una probabilità di perdere dati che è nellintervallo di 0,3 \% – 5\% a seconda dei parametri del cluster. Questo non è abbastanza buono per la maggior parte delle aziende, ma alcune applicazioni possono tollerarlo.
Per tre copie, di solito puoi estendere la probabilità di perdita di dati a ,1\% allanno, equivalente a un tempo medio per la perdita di dati di 1000 anni o più se fai le cose bene.
Quindi questo è il motivo.