Hadoop HDFS - Разница между отсутствующими репликами и недублируемыми блоками
Я знаю, что блоки с недостаточной репликацией и блоки с неправильной репликацией возникают из-за меньшего количества узлов данных относительно набора коэффициентов репликации.
Но в чем разница между ними?
При сбросе коэффициента репликации на 1, когда доступный узел данных равен 1, очищаются блоки с недостаточной репликацией и ошибка отсутствующей реплики. Убедитесь в этом, выполнив команду hdfs fsck /
1 ответ
Из "Hadoop: Полное руководство" Тома Уайта:
Блоки с избыточной репликацией. Это блоки, которые превышают целевую репликацию для файла, к которому они принадлежат. Обычно избыточная репликация не является проблемой, и HDFS автоматически удаляет лишние реплики.
Недостаточно реплицированные блоки Это блоки, которые не соответствуют целевой репликации для файла, к которому они принадлежат. HDFS будет автоматически создавать новые реплики недостаточно реплицированных блоков, пока они не будут соответствовать целевой репликации. Вы можете получить информацию о реплицируемых блоках (или ожидающих репликации) с помощью hdfs dfsadmin -metasave .
Неправильно реплицированные блоки Это блоки, которые не удовлетворяют политике размещения реплики блоков (см. Размещение реплики). Например, для уровня репликации три в кластере с несколькими стойками, если все три реплики блока находятся в одной и той же стойке, блок ошибочно реплицируется, поскольку реплики должны быть распределены по крайней мере на две стойки для обеспечения устойчивости. HDFS автоматически реплицирует неправильно реплицированные блоки, чтобы они соответствовали политике размещения в стойке.
Поврежденные блоки Это блоки, все реплики которых повреждены. Блоки с хотя бы одной не поврежденной репликой не считаются поврежденными; namenode будет реплицировать некоррумпированную реплику, пока не будет достигнута целевая репликация.
Отсутствующие реплики. Это блоки без каких-либо реплик в кластере.
Надеюсь, что это ответ на ваш вопрос.