Spark的资源调优

主要就是通过调整spark应用的相关参数来达到控制spark的cpu、内存,executor的数量等方式来优化
http://spark.apache.org/docs/1.6.1/configuration.html
http://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个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值