如何在Azure HDInsight中的工作节点上安装自定义软件?

时间:2014-11-17 09:50:40

标签: azure hdinsight

我使用PowerShell创建了一个Azure HDInsight群集。现在我需要在工作节点上安装一些自定义软件,这些软件是我将使用Hadoop流运行的映射器所必需的。我还没有找到任何可以帮助我完成此任务的PowerShell命令。我可以准备一份可以安排所有工作人员的自定义工作,但我不相信这是最好的解决方案。有更好的选择吗?

修改

使用AWS Elastic MapReduce,可以选择在创建群集时定义的引导操作中安装其他软件。我正在寻找类似的东西。

  

您可以使用引导操作来安装其他软件并更改群集上的应用程序配置。引导操作是Amazon EMR启动群集时在群集节点上运行的脚本。它们在Hadoop启动之前和节点开始处理数据之前运行。

来自:Create Bootstrap Actions to Install Additional Software

2 个答案:

答案 0 :(得分:2)

简短的回答是你没有。从缓存的角度来看,它并不理想,但您应该能够将所有作业依赖项捆绑到映射reduce jar中,该jar由YARN(Hadoop的一部分)为您分布在集群中。从广义上讲,这对最终用户来说是透明的,因为它都是通过作业提交过程处理的。

如果你需要一些大的,这是一个跨多个作业的共享依赖,并且你不希望每次都复制它,你可以将它保存在wasb:// storage,并在类路径中引用它,但是如果您使用.NET Streaming API,可能会导致复杂性。

答案 1 :(得分:1)

我刚刚从拼贴中听到我需要更新我的Azure PS,因为最近添加了一个新的Cmdlet Add-AzureHDInsightScriptAction,它就是这样。

Customize HDInsight clusters using Script Action