Spark通过Jar包提交任务

Standalone

需要通过bin/spark-submit来提交

必需参数 --class --master举例如下:

/home/bigdata/hadoop/spark-2.1.1-bin-hadoop2.7/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://master01:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
/home/bigdata/hadoop/spark-2.1.1-bin-hadoop2.7/examples/jars/spark-
examples_2.11-2.1.1.jar \
100
参数说明:
--master spark://master01:7077 指定 Master 的地址
--executor-memory 1G 指定每个 executor 可用内存为 1G
--total-executor-cores 2 指定每个 executor 使用的 cup 核数为 2 个

该算法是利用蒙特·卡罗算法求 PI

yarn

/home/bigdata/hadoop/spark-2.1.1-bin-hadoop2.7/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
/home/bigdata/hadoop/spark-2.1.1-bin-hadoop2.7/examples/jars/spark-
examples_2.11-2.1.1.jar \
100

一旦打包好,就可以使用 bin/spark-submit 脚本启动应用了. 这个脚本负责设置 spark 使用的 classpath 和依赖,支持不同类型的集群管理器和发布模式

一些常用选项:
1) --class: 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)
2) --master: 集群的 master URL (如 spark://23.195.26.187:7077)
3) --deploy-mode: 是否发布你的驱动到 worker 节点(cluster) 或者作为一个本地客户端 (client) (default: client)*
4) --conf: 任意的 Spark 配置属性, 格式 key=value. 如果值包含空格,可以加引号“key=value”. 缺省的 Spark 配置
5) application-jar: 打包好的应用 jar,包含依赖. 这个 URL 在集群中全局可见。比如 hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的 path都包含同样的 jar.

6) application-arguments: 传给 main()方法的参数:

查看 Spark-submit 全部参数

所有的提交方式

local  本地以一个 worker 线程运行(例如非并行的情况).
local[k] 本地以 K worker 线程 (理想情况下, K 设置为你机器的 CPU 核数).
local[*] 本地以本机同样核数的线程运行.
spark://HOST:PORT 连接到指定的 Spark standalone cluster master. 端口是你的 master 集群配置的端口,缺省值为 7077.
mesos://HOST:PORT 连接到指定的 Mesos 集群. Port 是你配置的 mesos 端口, 缺省是 5050. 或者如果 Mesos 使用 ZOoKeeper,格式为 mesos://zk://....
yarn-client 以 client 模式连接到 YARN cluster. 集群的位置基于HADOOP_CONF_DIR 变量找到.
yarn-cluster   以 cluster 模式连接到 YARN cluster. 集群的位置基于HADOOP_CONF_DIR 变量找到.


你可能感兴趣的:(Linux,大数据,spark)