Spark的资源调优方法

Spark的资源调优方法。

主要就是通过调整spark应用的相关参数来达到控制spark的cpu、内存,executor的数量等方式来优化

https://spark.apache.org/docs/1.6.1/configuration.html

https://spark.apache.org/docs/1.6.1/running-on-yarn.html

spark-submit脚本的资源参数

--master MASTER_URL :指定spark在哪里运行,默认就是local,当不给定的时候使用默认值,(只有spark-submit提交的时候有效)

--deploy-mode DEPLOY_MODE:指定driver在哪里运行,client表示spark-submit脚本执行的机器上运行driver

cluster模式表示driver在任意一台机器上开启一个driver进程

默认的就是client模式

--class CLASS_NAME:指定运行main函数的类名称

--conf PROP=VALUE :指定一个configurtion中的配置信息,eg:--conf "spark.ui.port=5050"

在一个应用中可以多次使用这个参数

--driver-memory MEM :给定driver进程使用内存的大小,默认就是1g

--executor-memory MEM :给定每个executor的内存的大小,默认也是1G

--proxy-user NAME:运行spark程序的用户名,默认就是当前执行spark程序的用户

standalone + cluster

--driver-cores NUM? ? ? ? ? Cores for driver (Default: 1).

driver运行的时候,需要多少个cpu,默认是1个

Spark standalone or Mesos + cluster

--supervise :这个参数的含义是指当driver宕机的时候,自动在其他的worker机器上重新启动一个driver进程

Spark standalone and Mesos?

--total-executor-cores NUM:指定一个spark应用程序总的cpu个数。默认集群中的全部可利用的cpu

Spark standalone and YARN?

--executor-cores NUM:给定每一个executor的cpu数量,在standalone的情况下,默认就是全部的可利用的cpu

在yarn的模式下,默认就是1个

YARN:

--driver-cores NUM :指定yarn cluster模式下,driver使用的cpu的数量,默认是1个。

--num-executors NUM:指定executor的使用cpu的数量,默认就是2个。

spark.cleaner.ttl:给定spark应用中清空元数据的间隔时间(元数据保留多久)。

比如说spark.cleaner.ttl = 1d sparkstreaming是一直在指定的,所以需要定时的去清理元数据。

spark.task.cpus:指定task运行的时候所需要的cpu的数量 默认是1个。

相关推荐