Какое наиболее эффективное решение для сотен запросов на загрузку в минуту для папки HDFS

В моей компании идет непрерывный процесс обучения. Каждые 5-10 минут мы создаем новую модель в HDFS. Модель представляет собой папку из нескольких файлов:

  1. модель ~ 1G (бинарный файл)
  2. метаданные модели 1K (текстовый файл)
  3. характеристики модели 1К (файл csv) ...

С другой стороны, у нас есть сотни экземпляров обслуживания моделей, которым необходимо загружать модель в локальную файловую систему раз в 5-10 минут и обслуживать ее. В настоящее время мы используем WebFS из нашего сервиса (клиент java FileSystem), но он, вероятно, создает нагрузку на наш кластер Hadoop, поскольку перенаправляет запросы к конкретным узлам данных.

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

Какую другую технологию / решение можно использовать для такого варианта использования?

1 ответ

Мы нашли хорошее решение.

Его можно использовать для Hadoop для уменьшения нагрузки чтения или для сегментов Google/S3 для снижения затрат.

Мы просто настраиваем пару серверов Ngnix и настраиваем их как прокси с файловым кешем 2 минуты.

Таким образом, только машины Ngnix будут загружать данные из кластера Hadoop.

И все обслуживающие машины (а их может быть сотни) будут извлекать данные с сервера Nginx, где они уже будут кэшированы.

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