2021-07-05 17:50:00
Преимущества запуска Spark в Kubernetes
Для частого запуска Spark-приложений необходимо максимально упростить процесс запуска задач, а также уметь гибко настраивать их конфигурации. Для этого можно запускать Spark внутри Kubernetes. Вот основные преимущества такого подхода:
Изоляция сред. При переходе на новую версию Spark в традиционном Hadoop-кластере нужно организовать бесшовный апгрейд, проверить все приложения и пайплайны. Запуск Spark в Kubernetes решает эту проблему: каждый член команды может создать независимое окружение и использовать любую версию Spark.
Управление ресурсами. Kubernetes позволяет накладывать ограничения ресурсов на разные приложения и разные типы пайплайнов, например, используя Namespace.
Гибкое масштабирование. Kubernetes в облаке умеет задействовать огромное количество ресурсов при необходимости. Например, ваше приложение обычно использует 10 ядер процессора, но иногда ему нужно 500. Автомасштабирование кластера Kubernetes позволит получить дополнительные ресурсы лишь на то время, когда они реально нужны приложению.
Разделение Storage и Compute-слоев. В Hadoop-кластере каждая нода является и Storage, и Compute. Если приложению нужно добавить больше ядер, то добавляется новую ноду, которая также добавляет и диски, за которые надо платить. Аналогично и обратное. Облако же позволяет разделить Storage и Compute-слои: Kubernetes выступает в роли Compute, а S3-хранилище в роли Storage.
В статье мы подробнее рассказываем о запуске Spark внутри Kubernetes, а также на реальном примере показываем как это сделать.
400 views14:50