#apache-spark #google-cloud-dataproc #dataproc
#apache-spark #google-cloud-dataproc #dataproc
Вопрос:
У меня есть кластер Dataproc с 2 рабочими узлами (n1s2). Существует внешний сервер, который отправляет около 360 заданий spark в течение часа (с интервалом в пару минут между каждой отправкой). Первое задание успешно завершается, но последующие застревают и вообще не выполняются.
Каждое задание обрабатывает несколько номеров временных рядов и записывает данные в Cassandra. И время, затрачиваемое обычно, составляет 3-6 минут, когда кластер полностью свободен.
Я чувствую, что это можно решить, просто увеличив масштаб кластера, но для меня это стало бы очень дорогостоящим. Каковы были бы другие варианты наилучшего решения этого варианта использования?
Ответ №1:
Запуск более 300 одновременных заданий в кластере из 2 рабочих узлов не представляется возможным. Вы хотите сначала оценить, сколько ресурсов (процессор, память, диск) требуется для каждого задания, а затем составить план размера кластера. Такие показатели YARN, как доступный процессор, доступная память, особенно ожидающая память, были бы полезны для определения ситуации, когда не хватает ресурсов.