【问题标题】:How to make a HDInsight/Spark cluster shrink when idle?如何让 HDInsight/Spark 集群在空闲时收缩?
【发布时间】:2018-06-28 23:39:37
【问题描述】:

我们在 Azure HDInsight 上使用 Spark 2.2 进行临时探索和批处理作业。

这些作业应该在 5x 中型 VM 集群上运行良好。他们是 1. 笔记本(Zeppelin 与 Livy.spark2 魔法) 2. 已编译的 jar 与 Livy 一起运行。

我必须记住在不使用时将此集群缩减为 1 个工作人员,以节省资金。 (如果可能的话,0 个工人会很好)。

我希望 Spark 为我管理这个...当作业启动时,首先将集群扩展到最小大小,然后在完成时暂停约 10 分钟。在没有 Jobs 的空闲时间之后,再次缩减。

【问题讨论】:

    标签: azure apache-spark hadoop-yarn azure-hdinsight livy


    【解决方案1】:

    您可以使用 PowerShell 或 Azure 经典 CLI 来扩大/缩小集群。但是您可能需要编写一个脚本来跟踪集群资源使用情况并自动缩减。

    这是一个 powershell 语法

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

    这是一个 PowerShell 工作流运行手册,可帮助您根据需要自动扩展或缩小 HDInsight 群集的过程

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

    您可以使用以下选项手动缩放(即使您的问题是如何自动放大/缩小,我认为这对想要手动放大/缩小的人很有用)

    下面是一篇文章的链接,该链接解释了使用 PowerShell 或 Classic CLI 扩展集群的不同方法(请记住:最新的 CLI 不支持扩展功能)

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

    如果您希望 Spark 动态处理它,Azure Databricks 是最佳选择(但它只是 Spark 集群,没有 Hadoop 组件(Hive 除外))。由于 HDInsight - Spark 不是 Azure 托管服务,因此无法解决您的用例。

    下面是一个新集群的图像(在 Azure 数据块中)——我突出显示了一个“启用自动缩放选项”,它允许您在执行作业时动态缩放。

    【讨论】:

      【解决方案2】:

      有人告诉我,Azure Databricks 可能是此用例的更好解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-09-13
        • 2018-02-24
        • 2021-06-03
        • 2016-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多