spark的资源调度


文章目录


资源调度

spark的资源调度

资源调度 Master 路径

spark-1.6.0/core/src/main/scala/org.apache.spark/deploy/Master/Master.scala

提交应用程序,submit 的路径

spark-1.6.0/core/src/main/scala/org.apache.spark/ deploy/SparkSubmit.scala

总结:

  1. Executor 在集群中分散启动,有利于 task 计算的数据本地化。
  2. 默认情况下(提交任务的时候没有设置–executor-cores 选项),每一个 Worker 为当前的 Application 启动一个 Executor,这个Executor 会使用这个 Worker 的所有的 cores 和 1G 内存。
  3. 如果想在 Worker 上启动多个 Executor,提交 Application 的时候要加–executor-cores 这个选项。
  4. 默认情况下没有设置–total-executor-cores,一个 Application 会使用 Spark 集群中所有的 cores。

结论演示

使用 Spark-submit 提交任务演示。也可以使用 spark-shell,

  1. 默认情况每个 worker 为当前的 Application 启动一个 Executor,这个 Executor 使用集群中所有的 cores 和 1G 内存。
./spark-submit
--master spark://node1:7077
--class org.apache.spark.examples.SparkPi
../lib/spark-examples-1.6.0-hadoop2.6.0.jar
10000

  1. 在 workr 上启动多个 Executor,设置–executor-cores 参数指定每个executor 使用的 core 数量。
./spark-submit
--master spark://node1:7077
--executor-cores 1
--class org.apache.spark.examples.SparkPi
../lib/spark-examples-1.6.0-hadoop2.6.0.jar
10000

  1. 内存不足的情况下启动 core 的情况。Spark 启动是不仅看 core 配置参数,也要看配置的 core 的内存是否够用。
./spark-submit
--master spark://node1:7077
--executor-cores 1
--executor-memory 3g
--class org.apache.spark.examples.SparkPi
../lib/spark-examples-1.6.0-hadoop2.6.0.jar
10000

  1. –total-executor-cores 集群*使用多少 cores

注意:一个进程不能让集群多个节点共同启动。

./spark-submit
--master spark://node1:7077
--executor-cores 1
--executor-memory 2g
--total-executor-cores 3
--class org.apache.spark.examples.SparkPi
../lib/spark-examples-1.6.0-hadoop2.6.0.jar
10000

               

上一篇:04.ElementUI源码学习:组件封装、说明文档的编写发布


下一篇:npm包发布时忽略某些文件(夹)