Как функция высокой доступности HDFS в Hadoop влияет на теорему CAP?

Согласно всему, что я до сих пор читал о теореме CAP, ни одна распределенная система не может обеспечить все три: доступность, согласованность и допуск раздела.

Теперь в Hadoop 2.x появилась новая функция, которую можно настроить, чтобы удалить единственную точку отказа, которую имели кластеры hadoop (единственный namenode). Благодаря этому кластер становится высокодоступным, согласованным и устойчивым к разделам. Я прав? Или я что-то упустил? Согласно CAP, если система пытается предоставить все три функции, она должна заплатить цену с задержкой, добавит ли новая функция эту задержку к кластеру? Или Hadoop нарушил теорему CAP?

2 ответа

Решение

HDFS не обеспечивает доступность в случае нескольких коррелированных сбоев (например, три сбойных узла данных с одним и тем же блоком HDFS).

Из CAP Confusion: Проблемы с разделом терпимости

Системы, такие как ZooKeeper, явно последовательны, потому что в кластере достаточно мало узлов, поэтому стоимость записи в кворум относительно невелика. Распределенная файловая система Hadoop (HDFS) также выбирает согласованность - три неисправных узла данных могут сделать блоки файла недоступными, если вам не повезло. Обе системы предназначены для работы в реальных сетях, где могут возникнуть разделы и сбои, и когда они это сделают, обе системы станут недоступными, сделав выбор между согласованностью и доступностью. Этот выбор остается неизбежной реальностью для распределенных хранилищ данных.

Высокая доступность HDFS делает HDFS более доступной, но не полностью. Если сетевой раздел не позволяет клиенту обмениваться данными ни с одним из NameNode, то кластер фактически недоступен.

Другие вопросы по тегам