Целостность данных в HDFS: Какие узлы данных проверяют контрольную сумму? - PullRequest
1 голос
/ 23 февраля 2012

Согласно Hadoop: полное руководство, второе издание

A.Датододы несут ответственность за проверку полученных данных перед сохранением данных и их контрольной суммы.

Проверяют ли они данные, проверяя контрольную сумму?

B.Данные для записи клиента отправляют их в конвейер данных (как описано в Главе 3), а последний узел данных в конвейере проверяет контрольную сумму.

Значит ли это, что каждая датода проверяетконтрольная сумма (как указано в A) или только последняя датодода в конвейере проверяет контрольную сумму (как указано в B).

1 Ответ

2 голосов
/ 23 февраля 2012

Это зависит от того, какую версию Hadoop вы используете. Последняя версия выполняет проверку контрольной суммы только на последнем узле данных, поскольку не было реальной причины делать это на каждом узле, как описано в JIRA: https://issues.apache.org/jira/browse/HADOOP-3328

Стоит также отметить, что при чтении блоков клиент также проверяет контрольную сумму для каждого прочитанного блока. Если блоки не совпадают с соответствующей им контрольной суммой, тогда клиент будет запрашивать тот же блок у другого узла данных, у которого есть копия этого блока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...