Ошибка при настройке mapred.map.tasks в псевдо-распределенном режиме
Вопрос
Как предполагалось здесь, Я использую Hadoop в псевдодиасибированном режиме со следующим файлом mapred-site.xml. Работа работает на 4 -основной машине.
<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>
Я получаю следующую ошибку:
Соотношение зарегистрированных блоков 1.0000 достигло порога 0,9990.
Что является причиной этого. Как это исправить?
Решение
Это не проблема, а нормальная процедура во время стартапа Hadoop.
SafeMode-это состояние HDFS, в котором файловая система монтируется только для чтения; Репликация не выполняется, и не могут быть созданы или удаляются файлы. Это автоматически вводится с начала Namenode, чтобы позволить всем данным DataNodes проверить с помощью Namenode и объявить, какие блоки они держат, прежде чем Namenode определит, какие блоки недооценены и т. Д.
Вы также можете увидеть, что такое Safemode на этой странице.
Наменод ждет, пока не будет присутствовать конкретный процент блоков и учитываться, процент устанавливается dfs.safemode.treshold.pct Параметр в hdfs-default.xml
по умолчанию. Но вы можете изменить это в 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>
Итак, вы видите, что журнал заканчивается 0,9990
The ratio of reported blocks 1.0000 has reached the threshold 0.9990.