微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

               

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐