#hadoop
#hadoop
Вопрос:
Менеджер аренды поддерживает мягкие ограничения (1 минута) и жесткие ограничения (1 час) на время истечения срока действия (эти ограничения в настоящее время не настраиваются), и все договоры аренды, поддерживаемые менеджером аренды, соблюдают те же мягкие и жесткие ограничения. До истечения срока действия soft limit клиент, арендующий файл, имеет эксклюзивный доступ на запись к файлу. Если мягкое ограничение истекает, а клиент не продлил аренду или не закрыл файл (аренда файла прекращается при закрытии файла), другой клиент может принудительно взять на себя аренду. Если срок действия жесткого лимита истекает, а клиент не продлил аренду, HDFS предполагает, что клиент вышел, и автоматически закроет файл от имени клиента, тем самым восстановив аренду.
Зачем ему нужна эта функция? При каких условиях другой клиент попытается взять на себя аренду?
Ответ №1:
Другой клиент должен пытаться взять на себя аренду, только если клиент, который в данный момент записывает файл, не работает или мертв. Только 1 клиент может иметь файл, открытый для записи в HDFS в любое время.
Я не уверен в истории этой функции, но я подозреваю, что ограничение в 1 минуту предназначено для защиты от потери клиентом аренды из-за короткой паузы (например, пауза GC или что-то в этом роде).
Существует тайм-аут в 1 час, поэтому namenode закрывает файлы, в которых клиент был мертв в течение длительного времени.
Недавно было внесено изменение, в соответствии с которым время ожидания жесткого диска было настроено и по умолчанию уменьшено, я думаю, до 20 минут.