我使用ARM模板创建了HDI集群。现在HDI集群正在运行。现在我想在现有的HDI集群上安装我的shell脚本。
我看到大多数示例都在同一个模板中安装了HDIcluster + ScriptAction。请参阅https://github.com/Azure/azure-quickstart-templates/blob/master/hdinsight-linux-run-script-action/azuredeploy.json
如何使用ARM模板在现有HDI群集上安装自定义脚本?
答案 0 :(得分:2)
ARM模板用于创建群集或向群集添加新节点。
您希望使用PowerShell,AzureCLI或门户网站运行脚本操作。以下是在PowerShell中执行此操作的方法:
# LOGIN TO ZURE
Login-AzureRmAccount
# PROVIDE VALUES FOR THESE VARIABLES
$clusterName = "<HDInsightClusterName>" # HDInsight cluster name
$saName = "<ScriptActionName>" # Name of the script action
$saURI = "<URI to the script>" # The URI where the script is located
$nodeTypes = "headnode", "workernode"
Submit-AzureRmHDInsightScriptAction -ClusterName $clusterName -Name $saName -Uri $saURI -NodeTypes $nodeTypes -PersistOnSucces
资源: https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux
答案 1 :(得分:1)
正如您所提到的,我们可以在群集创建期间应用脚本操作。但目前不支持从Azure资源管理器模板在正在运行的集群上应用脚本操作。我们可以从document获取有关脚本操作的更多详细信息。
正如Andrew Moll所说,我们可以使用Powershell在正在运行的集群上添加脚本操作。
我们也可以使用REST API(linux cluster only)轻松完成。 如果我们对此有任何了解,我们可以将我们的feedback提供给Azure团队。