我已使用 PowerShell 创建了 Azure HDInsight 群集。现在,我需要在工作节点上安装一些自定义软件,这是我将使用 Hadoop 流运行的映射器所需的。我还没有找到任何可以帮助我完成此任务的 PowerShell 命令。我可以准备一个自定义作业来设置所有工作人员,但我不相信这是最好的解决方案。还有更好的选择吗?
编辑:
使用 AWS Elastic MapReduce,可以选择在创建集群时定义的引导操作中安装其他软件。我一直在寻找类似的东西。
You can use a bootstrap action to install additional software and to change the configuration of applications on the cluster. Bootstrap actions are scripts that are run on the cluster nodes when Amazon EMR launches the cluster. They run before Hadoop starts and before the node begins processing data.
最佳答案
简单的回答是你不知道。从缓存的角度来看,这并不理想,但您应该能够将所有作业依赖项捆绑到 MapReduce jar 中,该 jar 通过 YARN(Hadoop 的一部分)为您分布在整个集群中。一般来说,这对最终用户来说是透明的,因为这一切都是通过作业提交流程处理的。
如果您需要一些大型的东西,这是许多作业之间的共享依赖项,并且您不希望每次都将其复制出来,则可以将其保留在 wasb://存储中,并在类路径中引用它,但是那样例如,如果您使用 .NET Streaming API,可能会导致您变得复杂。
关于azure - 如何在 Azure HDInsight 中的工作节点上安装自定义软件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26969840/