Насколько я знаю, процедура хранения блоков и реплик в Hadoop выполняется функцией или процессом BlockPlacementPolicy, но это для начальной процедуры хранения (первый раз, когда данные хранятся в системе HDFS). Меня интересует, какой процесс или функция java отвечает за восстановление (под восстановлением я подразумеваю решение проблемы недорепликации) данных после отказа диска или Datanode. Моя идея состоит в том, чтобы изменить ответственную функцию, чтобы она работала в соответствии с моими потребностями, это означает поддерживать количество реплик и хранить новые реплики (восстановленные реплики) на интересующем меня диске.
Какова процедура отказа и восстановления диска или узла данных в Hadoop
Ответы (1)
Когда узел выходит из строя, хранящиеся на нем блоки больше не считаются доступными для HDFS. Вы можете легко убедиться в этом, посмотрев на количество недостаточно реплицированных блоков, когда узел выходит из строя или отключен.
Как правило, система пытается решить проблему недостаточной репликации, когда она возникает (и когда емкость доступна). Таким образом, в основном решение, которое вы хотите построить, уже должно быть на месте.
Примечание. Hadoop не пытается восстановить данные со сломанных узлов, а просто реплицирует соответствующие блоки на основе неповрежденных узлов.
person
Dennis Jaheruddin
schedule
10.08.2016
извините, я использовал слово «восстановление», я думал о решении недорепликации. Я знаю, что эта процедура автоматизирована Hadoop. Мой вопрос касается процедуры и того, какой процесс отвечает за решение ситуации недостаточной репликации.
- person JovanKaramac; 10.08.2016
Я знаю, что когда Namenode не получает пульс от Datanode, он начинается с решения недорепликации, но я хочу знать подробности о том, какой процесс направляет процедуру, кто является проводником процедуры решения недорепликации, что такое java функции находятся в ведении.
- person JovanKaramac; 10.08.2016
@JovanKaramac Возможно, это будет Балансировщик.
- person Dennis Jaheruddin; 10.08.2016