首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自aws-cli的EMR火花作业

来自aws-cli的EMR火花作业
EN

Stack Overflow用户
提问于 2017-05-02 19:05:33
回答 1查看 2.2K关注 0票数 2

我正在使用aws cli在EMR上运行一个火花作业。

我想要的是让服务器启动,运行作业,并终止。

我可以作为一个两步进程(首先启动服务器,然后运行作业)来完成这个任务,但是当我发送一个命令时,我会得到一个错误。

错误:

代码语言:javascript
运行
复制
Error: Cannot load main class from JAR file:/home/hadoop/spark/bin/spark-submit
Run with --help for usage help or --verbose for debug output
Command exiting with ret '1'

所以看起来它找不到jar (或者主类)。我已经设置了纱线集群的主程序,以便它能够在s3上查找jars,并且我100%肯定主类的类路径是正确的。

命令

代码语言:javascript
运行
复制
aws emr create-cluster --name "Test auto run" --release-label emr-5.4.0 \
--applications Name=Spark --ec2-attributes KeyName=key-emr --instance-type m3.xlarge --instance-count 2 \
--log-uri s3://test/emr --steps Type=Spark,Name="Spark Program",ActionOnFailure=CONTINUE,,\
Args=[/home/hadoop/spark/bin/spark-submit,--verbose,--master,yarn-cluster,--class,co.path.test.TestJob,s3://test/test-0.0.1-SNAPSHOT-jar-with-dependencies.jar,\
's3://test/test-messages/1998*','d','s3://test/loaded'] \
--use-default-roles --auto-terminate

控制员说正在执行:

代码语言:javascript
运行
复制
/usr/lib/hadoop/bin/hadoop jar /var/lib/aws/emr/step-runner/hadoop-jars/command-runner.jar spark-submit 
/home/hadoop/spark/bin/spark-submit --verbose --master yarn-cluster --class,co.path.test.TestJob s3://test/test-0.0.1-SNAPSHOT-jar-with-dependencies.jar s3://test/test-messages/1998* d s3://test/loaded

我到底搞砸了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-05-03 20:04:48

如果EMR类型是您在step API - step -steps Type=Spark中提到的EMR类型,正如您在STEP的控制器日志中所标识的那样,EMR将添加spark-submit命令,并且您不需要将/home/hadoop/spark/bin/spark-submit作为STEP API的参数传递。

这个错误是因为两个火花提交的,其中它是以第二个/home/hadoop/火星/bin/火花-提交作为参数。

请参阅:http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-submit-step.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43745431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档