В ситуации, когда один data node
идет вниз, name node
будет видеть некоторые блоки under-replicated
данных и начнет репликацию в другой узел в кластере, чтобы привести репликацию обратно к ожидаемому уровню (по умолчанию 3).
Когда поврежденный узел снова поднимается, все блоки с этого узла будут видны как over-replicated
с 4 репликами.
Когда блок становится over-replicated
, name node
выбирает реплику для удаления. name node
предпочитает не уменьшать количество стоек, на которых размещаются реплики, и, во-вторых, предпочитает удалять реплику из data node
с наименьшим количеством доступного дискового пространства. Это может помочь перебалансировать нагрузку по кластеру.
Метаданные старого узла удаляются из Namenode, поэтому даже если поврежденный узел возвращается, узел имени не будет иметь метаданных о хранящихся в нем данных. Следовательно, у Hadoop будет 3 реплики (2 старых и одна новая реплика, созданная после того, как один из старых был поврежден) –