一、Spark提交应用程序步骤
1、进入Spark安装目录/bin,调用spark-submit脚本
2、在脚本后面指定参数
1、--class 指定应用主类
2、--master 指定应用运行模式,有local、local[n]、spark://集群url:port、Mesos、Yarn-client、Yarn-cluster
3、【可选】可以指定 --deploy-mode为client或者cluster
4、指定应用jar包位置
5、指定应用的参数
例1【以本地模式运行,不需要启动集群】:
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local examples/jars/spark-examples_2.11-2.1.0.jar
例2【以集群模式运行】
先启动集群./sbin/start-all.sh
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://localhost:7077 examples/jars/spark-examples_2.11-2.1.0.jar
运行成功后会见到日志打印出结果:Pi is roughly 3.1430357151785757
二、spark调试
本地调试【以单节点的方式来运行整个Spark应用】:
1、master设置为local或local[n]。(local为单线程执行,local[n]为n个线程运行)
2、如果用到了HDFS,可能会遇到winuntils找不到的问题,需要将HADOOP_HOME环境变量加入到IDEA中。
3、打断点,以debug模式运行。
远程调试:【把IDEA当做你的Driver来运行,保持和整个Spark集群的连接关系】
前提:你的本机和Spark集群是在同一网段。
1、设置master地址为spark集群的地址
2、打包,并将最终要运行的jar包路径设置到setJars方法中
3、设置本地路径(即IDEA)到环境变量spark.driver.host中,可在IDEA环境变量中设置
4、打断点,debug模式运行。