linux平台使用spark-submit以cluster模式提交spark应用到standalone集群
shell脚本如下
sparkHome=/home/spark/spark-2.2.0-bin-hadoop2.7 $sparkHome/bin/spark-submit \ --class streaming.SocketStream \ --master spark://CTUGT240X:6066 \ --deploy-mode cluster \ --supervise \ --executor-memory 4G \ --total-executor-cores 4 \ file:///home/sparkDemo/spark-1.0-SNAPSHOT-jar-with-dependencies.jar
--master参数要指定为REST URL,不然要报警告。
--supervise如果指定了这个参数那么应用就会故障重启,比如driver节点挂掉了就会在集群中重新选一个节点重启driver。
最后的应用jar包参数我这里使用的是本地文件,由于cluster要求所有节点都能找到应用的jar包,所以我把这个jar包拷贝到了所有节点的对应位置,不然spark就会提示找不到了,不过最好还是使用hdfs文件系统来管理jar包,这样就不用手动拷贝了。