将本地的Spark作业提交到Emr ssh设置

时间:2019-06-26 05:41:50

标签: apache-spark yarn amazon-emr spark-submit

我是新来的火花。我想将本地作业提交到远程EMR群集。 我正在这里的链接上设置所有先决条件:https://aws.amazon.com/premiumsupport/knowledge-center/emr-submit-spark-job-remote-cluster/

这是以下命令:

spark-submit --class mymain --deploy-mode client --master yarn myjar.jar

问题:sparksession创建无法正确完成。似乎是访问问题。

从aws文档中,我们知道,通过为主服务器分配纱线,yarn使用我从EMR复制的配置文件来知道主服务器和从服务器在哪里(yarn-site.xml)。 由于我的EMR群集位于VPC中,需要特殊的ssh配置才能访问,我如何才能将此信息添加到yarn中,以便它可以访问远程群集并提交作业?

1 个答案:

答案 0 :(得分:0)

我认为aws链接中提出的解决方案更像是-创建具有所有依赖项的本地Spark设置。
如果您不想进行本地Spark设置,我建议您使用以下更简单的方法:
1. Livy:为此,您应在Emr安装程序中安装livy。选中thisthisthis,您应该可以从this进行推断
2。 EMR ssh:这要求您在本地安装aws-cli,并在创建emr集群时使用集群ID和pem文件。选中this
例如。 aws emr ssh --cluster-id j-3SD91U2E1L2QX --key-pair-file ~/.ssh/mykey.pem --command 'your-spark-submit-command'(虽然这会在控制台上打印命令输出)