2015-04-13 11 views
6

Si consideri un cluster hadoop in cui la dimensione del blocco predefinito è 64 MB in hdfs-site.xml. Tuttavia, in seguito il team decide di cambiare questo a 128 MB. Ecco le mie domande per lo scenario sopra?Modifica Dimensione blocco dei file esistenti in Hadoop

  1. Questa modifica richiede il riavvio del cluster o verrà caricata automaticamente e tutti i nuovi file avranno la dimensione di blocco predefinita di 128 MB?
  2. Cosa succederà ai file esistenti che hanno una dimensione del blocco di 64 M? La modifica apportata alla configurazione verrà applicata automaticamente ai file esistenti? Se verrà eseguito automaticamente, quando verrà eseguito, non appena viene eseguita la modifica o quando viene avviato il cluster? Se non viene eseguito automaticamente, come modificare manualmente questo blocco?

risposta

7

sarà questo cambiamento necessario il riavvio del cluster o sarà ripreso automaticamente e tutti i nuovi file avranno la dimensione del blocco predefinito di 128MB

sarà richiesto un riavvio del cluster questa modifica della proprietà ha effetto.

Cosa succederà ai file esistenti che hanno una dimensione del blocco di 64 M? La modifica della configurazione si applica automaticamente ai file esistenti ?

I blocchi esistenti non modificheranno le dimensioni del blocco.

Se non viene eseguito automaticamente, come modificare manualmente questo blocco?

Per modificare i file esistenti è possibile utilizzare distcp. Copierà i file con le nuove dimensioni del blocco. Tuttavia, dovrai eliminare manualmente i vecchi file con le dimensioni del blocco precedenti. Ecco un comando che è possibile utilizzare

hadoop distcp -Ddfs.block.size=XX /path/to/old/files /path/to/new/files/with/larger/block/sizes. 
0

Come accennato here per il vostro punto:

  1. Ogni volta che si cambia la configurazione, è necessario riavviare il NameNode e DataNodes in modo per loro di cambiare il loro comportamento.
  2. No, non lo farà. Manterrà la vecchia dimensione del blocco sui vecchi file. Per poter prendere il nuovo cambio di blocco, è necessario riscrivere i dati. Puoi eseguire un hadoop fs -cp o un distcp sui tuoi dati. La nuova copia avrà la nuova dimensione del blocco ed è possibile eliminare i vecchi dati.

controllare il collegamento per ulteriori informazioni.

0

Sul punto 1 - On Hadoop 1.2.1, un riavvio non è necessario dopo una modifica dfs.block.size nel file di HDFS-site.xml. La dimensione del blocco di file può essere facilmente verificata controllando la pagina di amministrazione di Hadoop al numero http://namenode:50070/dfshealth.jsp

Assicurarsi di modificare dfs.block.size su tutti i nodi di dati.

Problemi correlati