如何将 Apache Spark 作业提交到 Azure HDInsight 上的 Hadoop YARN

2023-12-28

我很高兴 HDInsight 切换到 Hadoop 版本 2,它通过 YARN 支持 Apache Spark。对于我想要执行的任务,Apache Spark 是比 MapReduce 更适合的并行编程范例。

但是,我无法找到任何有关如何将 Apache Spark 作业远程作业提交到我的 HDInsight 群集的文档。对于标准 MapReduce 作业的远程作业提交,我知道有几个 REST 端点,例如 Templeton 和 Oozie。但据我所知,通过 Templeton 运行 Spark 作业是不可能的。我确实发现可以将 Spark 作业合并到 Oozie 中,但我读到这是一件非常乏味的事情,而且我还读过一些作业故障检测在这种情况下不起作用的报告。

也许必须有一种更合适的方式来提交 Spark 作业。有谁知道如何将 Apache Spark 作业远程提交到 HDInsight?

提前谢谢了!


您可以在 hdinsight 集群上安装 Spark。你必须在以下时间完成创建自定义集群 http://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-customize-cluster/并添加一个操作脚本,该脚本将在为集群创建 VM 时在集群上安装 Spark。

To 使用操作脚本安装 http://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-spark-install/集群安装非常简单,您可以通过在标准自定义创建集群脚本/程序中添加几行代码,在 C# 或 powershell 中完成安装。

电源外壳:

# ADD SCRIPT ACTION TO CLUSTER CONFIGURATION
$config = Add-AzureHDInsightScriptAction -Config $config -Name "Install Spark" -ClusterRoleCollection HeadNode -Urin https://hdiconfigactions.blob.core.windows.net/sparkconfigactionv02/spark-installer-v02.ps1

C#:

// ADD THE SCRIPT ACTION TO INSTALL SPARK
clusterInfo.ConfigActions.Add(new ScriptAction(
  "Install Spark", // Name of the config action
  new ClusterNodeType[] { ClusterNodeType.HeadNode }, // List of nodes to install Spark on
  new Uri("https://hdiconfigactions.blob.core.windows.net/sparkconfigactionv02/spark-installer-v02.ps1"), // Location of the script to install Spark
  null //because the script used does not require any parameters.
));

然后,您可以通过 RDP 进入头节点并使用 Spark-Shell 或使用 Spark-Submit 来运行作业。我不确定如何运行 Spark 作业而不是 rdp 到头节点,但这是另一个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Apache Spark 作业提交到 Azure HDInsight 上的 Hadoop YARN 的相关文章

随机推荐