我是新来的火花。我想将本地作业提交到远程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中,以便它可以访问远程群集并提交作业?
答案 0 :(得分:0)
我认为aws链接中提出的解决方案更像是-创建具有所有依赖项的本地Spark设置。
如果您不想进行本地Spark设置,我建议您使用以下更简单的方法:
1. Livy:为此,您应在Emr安装程序中安装livy。选中this,this,this,您应该可以从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'
(虽然这会在控制台上打印命令输出)