Мне нужно повторно реплицировать блоки в моем кластере HDFS в случае сбоя узла данных. На самом деле это, кажется, происходит уже через 10 минут. Однако на этот раз я хочу уменьшить, но не знаю, как это сделать.
Я пытался установить dfs.namenode.check.stale.datanode
но без большого успеха. Итак, каковы параметры конфигурации или какие параметры я должен здесь настроить, чтобы, возможно, уменьшить его до 1 минуты?
Полный раздел из hdfs-site.xml выглядит так
<property>
<name>dfs.namenode.check.stale.datanode</name>
<value>true</value>
<description>Activate stale check</description>
</property>
<property>
<name>dfs.namenode.stale.datanode.interval</name>
<value>10</value>
<description>Timeout</description>
</property>
На основе обсуждения список рассылки пользователей hadoop кажется, что dfs.namenode.heartbeat.recheck-interval
должен быть установлен внутри hdfs-site.xml
. Время до тех пор, пока узел данных не будет помечен как мертвый, отсчитывается от этого времени в сочетании с dfs.heartbeat.interval
. Фактически конфигурация
<property>
<name>dfs.namenode.heartbeat.recheck-interval</name>
<value>10000</value>
</property>
Приведено ~ 45 секунд, пока узел не будет помечен как мертвый. (это относится к версии 2.6 Hadoop)