Errore durante l'impostazione di mapred.map.tasks in modalità pseudo-distribuita
Domanda
Come suggerito qui, Sto eseguendo Hadoop in modalità pseudoDistributate con il seguente file mapred-site.xml. Il lavoro è in esecuzione su una macchina a 4 core.
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
<property>
<name>mapred.map.tasks</name>
<value>4</value>
</property>
<property>
<name>mapred.reduce.tasks</name>
<value>4</value>
</property>
</configuration>
Sto ricevendo il seguente errore:
Il rapporto tra blocchi riportati 1.0000 ha raggiunto la soglia 0,9990.
Qual è la ragione per questo. Come risolvere questo problema?
Soluzione
Non è un problema, ma una procedura normale durante l'avvio di Hadoop.
SafeMode è uno stato HDFS in cui il file system è montato di sola lettura; Non viene eseguita alcuna replica, né i file possono essere creati o eliminati. Questo viene inserito automaticamente all'avvio di Namenode, per consentire a tutti i DataNodes di effettuare il check-in con Namenode e annunciare quali blocchi detengono, prima che il Namenode determini quali blocchi sono poco replicati, ecc.
Puoi anche vedere cosa è SafeMode In questa pagina.
Il Namenode attende fino a quando non sia presente una percentuale specifica dei blocchi e contabilizzati, la percentuale è impostata da DFS.SafeMode.Threshold.PCT parametro in hdfs-default.xml
Per impostazione predefinita. Ma puoi cambiarlo hdfs-site.xml
.
È
<property>
<name>dfs.safemode.threshold.pct</name>
<value>0.999f</value>
<description>
Specifies the percentage of blocks that should satisfy
the minimal replication requirement defined by dfs.replication.min.
Values less than or equal to 0 mean not to wait for any particular
percentage of blocks before exiting safemode.
Values greater than 1 will make safe mode permanent.
</description>
</property>
Quindi vedi il registro termina con 0,9990
The ratio of reported blocks 1.0000 has reached the threshold 0.9990.