Какова цель разработки soft limit и hard limit в Hadoop?

#hadoop

#hadoop

Вопрос:

Менеджер аренды поддерживает мягкие ограничения (1 минута) и жесткие ограничения (1 час) на время истечения срока действия (эти ограничения в настоящее время не настраиваются), и все договоры аренды, поддерживаемые менеджером аренды, соблюдают те же мягкие и жесткие ограничения. До истечения срока действия soft limit клиент, арендующий файл, имеет эксклюзивный доступ на запись к файлу. Если мягкое ограничение истекает, а клиент не продлил аренду или не закрыл файл (аренда файла прекращается при закрытии файла), другой клиент может принудительно взять на себя аренду. Если срок действия жесткого лимита истекает, а клиент не продлил аренду, HDFS предполагает, что клиент вышел, и автоматически закроет файл от имени клиента, тем самым восстановив аренду.

Зачем ему нужна эта функция? При каких условиях другой клиент попытается взять на себя аренду?

Ответ №1:

Другой клиент должен пытаться взять на себя аренду, только если клиент, который в данный момент записывает файл, не работает или мертв. Только 1 клиент может иметь файл, открытый для записи в HDFS в любое время.

Я не уверен в истории этой функции, но я подозреваю, что ограничение в 1 минуту предназначено для защиты от потери клиентом аренды из-за короткой паузы (например, пауза GC или что-то в этом роде).

Существует тайм-аут в 1 час, поэтому namenode закрывает файлы, в которых клиент был мертв в течение длительного времени.

Недавно было внесено изменение, в соответствии с которым время ожидания жесткого диска было настроено и по умолчанию уменьшено, я думаю, до 20 минут.