Как уменьшить кластер HDInsight / Spark в режиме ожидания? - PullRequest
0 голосов
/ 29 июня 2018

Мы используем Spark 2.2 в Azure HDInsight для специальных исследований и пакетных заданий.

Задания должны работать нормально на 5x среднем кластере виртуальных машин. Они есть 1. записные книжки (Zeppelin с магией Livy.spark2) 2. Скомпилированные банки работают с Livy.

Я должен помнить, чтобы сократить этот кластер до 1 работника, когда он не используется, чтобы сэкономить деньги. (0 рабочих было бы неплохо, если бы это было возможно).

Я бы хотел, чтобы Spark справился с этим за меня ... Когда задание запускается, сначала масштабируйте кластер до минимального размера, затем сделайте паузу ~ 10 минут, пока это не завершится. После простоя без Джобса снова уменьшите.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Вы можете использовать PowerShell или Azure classic CLI для масштабирования кластера. Но вам может понадобиться написать скрипт для отслеживания использования ресурсов кластера и его автоматического уменьшения.

Вот синтаксис PowerShell

Set-AzureRmHDInsightClusterSize -ClusterName <Cluster Name> -TargetInstanceCount <NewSize>

Вот рабочая книга PowerShell, которая поможет вам автоматизировать процесс расширения или уменьшения количества кластеров HDInsight в зависимости от ваших потребностей

https://gallery.technet.microsoft.com/scriptcenter/Scale-your-HDInsight-f57bb4d8

или

Вы можете использовать опцию ниже, чтобы масштабировать ее вручную (хотя ваш вопрос заключается в том, как автоматически увеличивать / уменьшать, я подумал, что это будет полезно для тех, кто хочет увеличить / уменьшить вручную)

scaling manually

Ниже приведена ссылка на статью, объясняющую различные методы масштабирования кластера с помощью PowerShell или Classic CLI (помните: последний CLI не поддерживает функцию масштабирования)

https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-scaling-best-practices

Если вы хотите, чтобы Spark обрабатывал его динамически, то блок данных Azure - лучший выбор (но это только кластер Spark, никаких компонентов Hadoop (кроме Hive)). Поскольку HDInsight - Spark не является управляемой службой Azure, она не решит ваш вариант использования.

Ниже приведено изображение нового кластера (в блоках данных Azure) - я выделил «включить параметр автоматического масштабирования», который позволит вам динамически масштабироваться при выполнении задания.

enter image description here

0 голосов
/ 14 сентября 2018

Мне сказали, что блоки данных Azure могут быть лучшим решением для этого варианта использования.

...