MapReduce服务 MRS-编包并运行Spark应用:提交SparkLauncher应用程序
提交SparkLauncher应用程序
- 在工程目录下执行mvn package命令生成jar包,在工程目录target目录下获取,比如:FemaleInfoCollection.jar
- 将生成的Jar包(如CollectFemaleInfo.jar)拷贝到Spark运行环境下(即Spark客户端),如“/opt/female”。开启Kerberos认证的安全集群下把从准备Spark应用开发用户中获取的user.keytab和krb5.conf文件拷贝到Spark客户端conf目录下,如:/opt/client/Spark/spark/conf;未开启Kerberos认证集群可不必拷贝user.keytab和krb5.conf文件。
- 提交SparkLauncher应用程序。
- 在Spark任务运行过程中禁止重启HDFS服务或者重启所有DataNode实例,否则可能会导致任务失败,并可能导致JobHistory部分数据丢失。
- 运行程序时可根据需要选择运行模式:
- --deploy-mode client:driver进程在客户端运行,运行结果在程序运行后直接输出。
- --deploy-mode cluster:driver进程在Yarn的ApplicationMaster(AM)中运行,运行结果和日志在Yarn的WebUI界面输出。
java -cp $SPARK_HOME/jars/*:{JAR_PATH} com.huawei.bigdata.spark.examples.SparkLauncherExample yarn-client {TARGET_JAR_PATH} { TARGET_JAR_MAIN_CLASS} {args}
- JAR_PATH为SparkLauncher应用程序jar包所在路径。
- TARGET_JAR_PATH为待提交的spark application应用程序jar包所在路径。
- args为待提交的spark application应用程序的参数。