windows平台使用spark-submit以client方式提交spark应用到standalone集群
1、spark应用打包,我喜欢打带依赖的,这样省事。
2、使用spark-submit.bat 提交应用,代码如下:
for /f "tokens=1,2 delims==" %%i in (config) do (set %%i=%%j) %sparkHome%/bin/spark-submit ^ --class streaming.SocketStream ^ --master spark://%masterIP%:7077 ^ --executor-memory 4G ^ --total-executor-cores 4 ^ %projectHome%/target\spark-1.0-SNAPSHOT-jar-with-dependencies.jar
第一行是读取配置,里面定义了一些变量,之后启动spark-submit.bat 脚本,--class指定main函数的类,路径是以classes为根目录的;master指定了master的服务端口,可以在master的UI里面看到;运行内存要比机器实际拥有的内存小,不然不够分配会报错;运行cpu核数同理;最后的spark应用jar包路径,由于是client模式,只需要在driver机器上能找到就行,我使用的是绝对路径,也可以使用hdfs的路径和file:///path这样的路径。