spark调优经验(待续)

来源:互联网 发布:中国电信cn2网络 编辑:程序博客网 时间:2024/05/01 16:02

spark调优是需要根据业务需要调整的,并不是说某个设置是一成不变的,就比如机器学习一样,是在不断的调试中找出当前业务下更优的调优配置。下面零碎的总结了一些我的调优笔记。

spark 存储的时候存在严重的分配不均的现象,有几台机器在过渡使用, 有几台机器却很少被使用,有几台机器缓存了几十个上百个RDD blocks  有的机器一个RDD blocks 都没有,这样存储有RDD blocks 的可以进行运算,运算的tasks 最多为该机器core数。

spark.storage.memoryFraction 分配给用于缓存RDD的内存的比例  

比如如果spark.executor.memory              30g  spark.storage.memoryFraction       0.5          则用于缓存的内存为14G 多, 默认留一些做其他用。



每一个RDD blocks  的大小不一定是64兆 可能小于64兆,另外如果driver不是子节点,driver 程序运行的节点上的用于缓存的内存 ,就不会被使用。


事实上一个两三G 的数据 需要用的缓存也至少需要两三G,如果中间过程中还有产生RDD 且也需要缓存到内存,则需要分配更多的内存用于缓存。在缓存足够多的情况的
更多的内存不足错误提示(OOM) 来源于计算的时候产生的一些中间对象即计算所需要的内存。


所以分配用于缓存的内存 应该是这么算的, 比如我有10G的文件,4台机器,则每台机器至少2.5g缓存,如果每台机器分配给excutor 的内存为10g ,则memoryFraction 则至少为0.25  最好配大一些,但不能太大, 太大会导致计算内存不够。而且如果中间过程还有产生新的RDD,则需要根据实际情况调大memoryFraction。


RDD 缓存分布不均匀 是影响spark 的很大的性能之一,为什么这么说?

因为有的机器分配给用于RDD 缓存的内存都用完了  ,这样相对而言在这个机器上计算的开销也会大,有的机器缓存占用的内存很少,就算用这个机器来计算,还需要启动Node_local 模式,这样会影响计算的时间。


调优过程也遇到了一些问题,还没解决,比如:
为什么一个2G 的数据,默认块大小为64M. default.parallelism 设置成100,可它总是不按这个数据来分,比如经常分成了108个blocks,影响partions个数的参数还有哪些?还有我明明有四个节点,但经常有节点被分配的RDD 和计算都很少很少,这种资源浪费的情况应该怎么调解?

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝衣服吊牌剪了想退货怎么办修 用图片在淘宝搜衣服搜不到怎么办 汽车黑塑料水砂纸磨的不平怎么办 sat报名要你填10位电话怎么办 手绘板连接电脑绘画有点迟钝怎么办 走路不小心滑了一下特尴尬怎么办 小孩子头撞了头发长不出来怎么办 小孩子头磕破了不长头发怎么办 晚上洗了冷水头早上头痛怎么办 头发洗了一天就油了怎么办 米诺地尔搽剂喷了头皮油怎么办 头发可以种植吗如果是秃顶怎么办 前额头发少怎么办如何使头发增多 头发又细又软又少怎么办 宝宝一岁了头发又少又黄怎么办 生完孩子头发掉的厉害怎么办 洗完头发后头发很蓬松怎么办 头发掉的厉害怎么办吃什么好得快 头发掉的很厉害怎么办吃什么好 我头发掉的厉害怎么办吃什么药 头发干枯毛躁掉发怎么办吃什么 最近洗头时头发掉的厉害怎么办 生完小孩头发掉的厉害怎么办 生完小孩后头发掉的厉害怎么办 生完孩子后严重掉头发怎么办 生过孩子后掉头发严重怎么办 孩孑16岁了高中没考上怎么办 小孩的嘴巴里有点点该怎么办 小孩从出生哭笑嘴巴有点歪怎么办 儿童耳朵受伤后嘴巴歪了怎么办 手机锁屏图案忘了怎么办求解锁 忘给仓鼠买吃的了怎么办 两岁宝宝不爱吃饭只喝奶粉怎么办 下载百度云压缩包要提取密码怎么办 微信表情包图片过大无法添加怎么办 管理员吧群员全部踢了群主怎么办 微信笑脸表情斗图文字没有了怎么办 钨珠钢笔头用完笔墨了怎么办 暴走大事件被禁六一红鼻子节怎么办 弯腰推东西把腰闪了怎么办 怀孕初期弯腰捡东西腰不舒服怎么办