Назад | Перейти на главную страницу

Hadoop: как настроить время переключения при отказе для узла данных

Мне нужно повторно реплицировать блоки в моем кластере 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)