spark调优篇-spark on yarn web UI】的更多相关文章

本文旨在解析 spark on Yarn 的内存管理,使得 spark 调优思路更加清晰 内存相关参数 spark 是基于内存的计算,spark 调优大部分是针对内存的,了解 spark 内存参数有也助于我们理解 spark 内存管理 spark.driver.memory:默认 512M spark.executor.memory:默认 512M spark.yarn.am.memory:默认 512M spark.yarn.driver.memoryOverhead:driver memor…
spark on yarn 的执行过程在 yarn RM 上无法直接查看,即 http://192.168.10.10:8088,这对于调试程序很不方便,所以需要手动配置 配置方法 1. 配置 spark-defaults.conf  cp spark-defaults.conf.template spark-defaults.conf 添加如下配置 spark.eventLog.enabled true spark.eventLog.dir hdfs://hadoop10:9000//user…
由于Spark自己的调优guidance已经覆盖了很多很有价值的点,因此这里直接翻译一份过来.也作为一个积累. Spark 调优 (Tuning Spark) 由于大多数Spark计算任务是在内存中运行计算,任何集群中的资源限制都可能成为Spark程序的瓶颈,比如:CPU.网络.带宽.内存.通常情况下,如果内存能容纳所处理数据,主要的瓶颈则仅是网络带宽.但有些时候您也需要做一些调优,比如利用RDD序列化存储来降低内存消耗.本手册将会涵盖以下两个大点:数据序列化(对优化网络传输和降低内存开销有显著…
spark 之所以需要调优,一是代码执行效率低,二是经常 OOM 内存溢出 内存溢出无非两点: 1. Driver 内存不够 2. Executor 内存不够 Driver 内存不够无非两点: 1. 读取数据太大 2. 数据回传 Executor 内存不够无非两点: 1. map 类操作产生大量数据,包括 map.flatMap.filter.mapPartitions 等 2. shuffle 后产生数据倾斜 Executor 内存不够 有个通用的解决办法就是增加 Executor 内存 --…
数据倾斜 为什么会数据倾斜 spark 中的数据倾斜并不是说原始数据存在倾斜,原始数据都是一个一个的 block,大小都一样,不存在数据倾斜: 而是指 shuffle 过程中产生的数据倾斜,由于不同的 key 对应的数据量不同导致不同 task 处理的数据量不同 注意:数据倾斜与数据过量不同,数据倾斜是某几个 task 处理的数据量很大,数据过量是所有 task 处理的数据量都很大 数据倾斜的表现 大部分 task 都快速执行完毕,少数 task 执行缓慢,甚至报错 OOM,即使最终运行完毕,也…
开发调优 调优概述 Spark性能优化的第一步,就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则.开发调优,就是要让大家了解以下一些Spark基本开发原则,包括:RDD lineage设计.算子的合理使用.特殊操作的优化等.在开发过程中,时时刻刻都应该注意以上原则,并将这些原则根据具体的业务以及实际的应用场景,灵活地运用到自己的Spark作业中. 原则一:避免创建重复的RDD 通常来说,我们在开发一个Spark作业时,首先是基于某个数据源(比如Hive表或HDFS文件)创建一个…
一.前述 Spark中调优大致分为以下几种 ,代码调优,数据本地化,内存调优,SparkShuffle调优,调节Executor的堆外内存. 二.具体    1.代码调优 1.避免创建重复的RDD,尽量使用同一个RDD 2.对多次使用的RDD进行持久化 如何选择一种最合适的持久化策略? 默认情况下,性能最高的当然是MEMORY_ONLY,但前提是你的内存必须足够足够大,可以绰绰有余地存放下整个RDD的所有数据.因为不进行序列化与反序列化操作,就避免了这部分的性能开销:对这个RDD的后续算子操作,…
1.前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作,应用范围与前景非常广泛.在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark.大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快.性能更高. 然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的.如果没有对Sp…
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark SQL相关的知识,如果对Spark不熟的同学可以先看看之前总结的两篇文章: [原]Learning Spark (Python版) 学习笔记(一)----RDD 基本概念与命令 [原]Learning Spark (Python版) 学习笔记(二)----键值对.数据读取与保存.共享特性 #####…
[场景] Spark提交作业job的时候要指定该job可以使用的CPU.内存等资源参数,生产环境中,任务资源分配不足会导致该job执行中断.失败等问题,所以对Spark的job资源参数分配调优非常重要. spark提交作业,yarn-cluster模式示例: ./bin/spark-submit\ --class com.ww.rdd.wordcount \ --master yarn \ --deploy-mode cluster \  --executor-memory 4G \ --num…