我很高兴 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(使用前将#替换为@)