[转] - Spark排错与优化】的更多相关文章

Spark排错与优化 http://blog.csdn.net/lsshlsw/article/details/49155087 一. 运维 1. Master挂掉,standby重启也失效 Master默认使用512M内存,当集群中运行的任务特别多时,就会挂掉,原因是master会读取每个task的event log日志去生成Sparkui,内存不足自然会OOM,可以在master的运行日志中看到,通过HA启动的master自然也会因为这个原因失败. 解决 增加Master的内存占用,在Mas…
一. 运维 1. Master挂掉,standby重启也失效 Master默认使用512M内存,当集群中运行的任务特别多时,就会挂掉,原因是master会读取每个task的event log日志去生成spark ui,内存不足自然会OOM,可以在master的运行日志中看到,通过HA启动的master自然也会因为这个原因失败. 解决 增加Master的内存占用,在Master节点spark-env.sh 中设置: export SPARK_DAEMON_MEMORY 10g # 根据你的实际情况…
一. Hbase的region 我们先简单介绍下Hbase的架构和Hbase的region: 从物理集群的角度看,Hbase集群中,由一个Hmaster管理多个HRegionServer,其中每个HRegionServer都对应一台物理机器,一台HRegionServer服务器上又可以有多个Hregion(以下简称region).要读取一个数据的时候,首先要先找到存放这个数据的region.而Spark在读取Hbase的时候,读取的Rdd会根据Hbase的region数量划分stage.所以当r…
1.写在前面 Spark是专为大规模数据处理而设计的快速通用的计算引擎,在计算能力上优于MapReduce,被誉为第二代大数据计算框架引擎.Spark采用的是内存计算方式.Spark的四大核心是Spark RDD(Spark core),SparkSQL,Spark Streaming,Spark ML.而SparkSQL在基于Hive数仓数据的分布式计算上尤为广泛.本编博客主要介绍基于Java API的SparkSQL的一些用法建议和利用Spark处理各种大数据计算的性能优化建议 2.Spar…
只有满怀自信的人,能在任何地方都怀有自信,沉浸在生活中,并认识自己的意志. 前言 最近公司有一个生产的小集群,专门用于运行spark作业.但是偶尔会因为nn或dn压力过大而导致作业checkpoint操作失败进而导致spark 流任务失败.本篇记录从应用层面对spark作业进行优化,进而达到优化集群的作用. 集群使用情况 有数据的目录以及使用情况如下: 目录 说明 大小 文件数量 数据数量占比 数据大小占比 /user/root/.sparkStaging/applicationIdxxx sp…
概叙: 在任何分布式系统中,序列化都是扮演着一个重要的角色的.如果使用的序列化技术,在执行序列化操作的时候很慢,或者是序列化后的数据还是很大,那么会让分布式应用程序的性能下降很多.所以,进行Spark性能优化的第一步,就是进行序列化的性能优化. Spark自身默认就会在一些地方对数据进行序列化,比如Shuffle.还有就是,如果我们的算子函数使用到了外部的数据(比如Java内置类型,或者自定义类型),那么也需要让其可序列化. 而Spark自身对于序列化的便捷性和性能进行了一个取舍和权衡.默认,S…
Spark有几种部署的模式,单机版.集群版等等,平时单机版在数据量不大的时候可以跟传统的java程序一样进行断电调试.但是在集群上调试就比较麻烦了...远程断点不太方便,只能通过Log的形式,进行分析,利用spark ui做性能调整和优化. 那么本篇就介绍下如何利用Ui做性能分析,因为本人的经验也不是很丰富,所以只能作为一个入门的介绍. Spark UI入口 如果是单机版本,在单机调试的时候输出信息中已经提示了UI的入口: 17/02/26 13:55:48 INFO SparkEnv: Reg…
http://spark.apache.org/docs/1.6.1/tuning.html1) 代码优化 a. 对于多次使用的RDD,进行数据持久化操作(eg: cache.persist) b. 如果对同一个份数据进行操作,那么尽量公用一个RDD c. 优先使用reduceByKey和aggregateByKey取代groupByKey 原因:前两个API存在combiner,可以降低数据量:groupByKey可能存在OOM异常 d. 对于Executor使用到Driver中的变量的情况,…
1.  计算提供两种模式,一种是jar包本地计算.一种是JSF服务. 2.  第一步是引入spark,因与netty.JDQ均有冲突,解决netty冲突后,隔离计算为单独服务.已在线上,因storm也与spark存 在运行时冲突,storm也在用服务. 3.  第二步是召回集扩量,发现当召回集由200扩到500后性能下降过快到70ms,利用多线程多核计算,性能到6ms.已在线上 4.  第三步在此扩量到1000,采用增加线程方式,性能达到25ms左右.已在预发 5.  第四步召回集在扩量,如性能…
摘要: 本文将介绍 CBO,它充分考虑了数据本身的特点(如大小.分布)以及操作算子的特点(中间结果集的分布及大小)及代价,从而更好的选择执行代价最小的物理执行计划,即 SparkPlan. Spark CBO 背景 上文Spark SQL 内部原理中介绍的 Optimizer 属于 RBO,实现简单有效.它属于 LogicalPlan 的优化,所有优化均基于 LogicalPlan 本身的特点,未考虑数据本身的特点,也未考虑算子本身的代价. 本文将介绍 CBO,它充分考虑了数据本身的特点(如大小…