本文主要向大家介绍了JAVA语言提交spark任务到yarn平台的配置讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
一、背景
采用spark的方式处理,所以需要将spark的功能集成到代码,采用yarn客户端的方式管理spark任务。不需要将cdh的一些配置文件放到resource路径下,只需要配置一些配置即可,非常方便
二、任务管理架构
三、接口
1、任务提交
1. /**
2. *提交任务到yarn集群
3. *
4. *@paramconditions
5. *yarn集群,spark,hdfs具体信息,参数等
6. *@returnappid
7. */
8. publicStringsubmitSpark(YarnSubmitConditionsconditions){
9. logger.info("初始化sparkonyarn参数");
10.
11. //初始化yarn客户端
12. logger.info("初始化sparkonyarn客户端");
13. Listargs=Lists.newArrayList("--jar",conditions.getApplicationJar(),"--class",
14. conditions.getMainClass());
15. if(conditions.getOtherArgs()!=null&&conditions.getOtherArgs().size()>0){
16. for(Strings:conditions.getOtherArgs()){
17. args.add("--arg");
18. args.add(org.apache.commons.lang.StringUtils.join(newString[]{s},","));
19. }
20. }
21.
22. //identifythatyouwillbeusingSparkasYARNmode
23. System.setProperty("SPARK_YARN_MODE","true");
24. SparkConfsparkConf=newSparkConf();
25. if(org.apache.commons.lang.StringUtils.isNotEmpty(conditions.getJobName())){
26. sparkConf.setAppName(conditions.getJobName());
27. }
28.
29. sparkConf.set("spark.yarn.jars",conditions.getSparkYarnJars());
30. if(conditions.getAdditionalJars()!=null&&conditio