![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 71
Johnson8702
这个作者很懒,什么都没留下…
展开
-
Spark性能调优(三)---在实际项目中重构RDD架构以及RDD持久化
一、为什么要重构RDD,持久化RDD①为什么需要重构RDD如上图所示, RDD2和RDD3是RDD1执行相同的算子得到的RDD,是相同的RDD。对于这种需要被重复使用,差不多的RDD,可以抽取为一个共同的RDD,供后面的RDD计算时,重复使用。②为什么持久化RDD如上图所示,如果没有持久化RDD,那么在获取RDD3和RDD4的时候,都需要从HDFS读取文件,转换成RDD1,...原创 2019-01-30 15:54:32 · 290 阅读 · 0 评论 -
Spark性能调优(四)---其他几个性能调优策略
一、广播大变量被大量task使用的变量,使用广播。被广播的变量,在Driver中存在一个初始副本。这样,就不需要每个task都拥有一个变量的副本,节省网络传输的资源和内存的资源;每一个BlockManager有一个变量的副本,BlockManager中没有变量的时候,可以去Driver中获取,也可以从距离最近的其他BlockManager中获取。设置广播变量:sc.broadcast();...原创 2019-02-18 14:57:22 · 223 阅读 · 0 评论 -
shuffle原理及调优
一、原理概述①什么是shuffle?以reduceByKey为例,要把分布在集群各个节点上的数据中的同一个key对应的values集中到一块,集中到集群中同一个节点上。更严格地说,集中到同一个节点的同一个executor的task中。集中同一个key对应的values之后,数据变成<key,Iterable<value>>,算子函数对values进行reduce...原创 2019-02-25 21:26:32 · 593 阅读 · 0 评论 -
troubleshooting---线上问题解决
一、控制shuffle reduce端缓冲大小以避免OOMreduce端的task读取数据时,并不是等到map端task将属于自己的那份数据全部写入磁盘文件之后再去拉取,而是先把数据拉取进缓冲区,然后才用后面的executor分配的堆内存占比(比如0.2)来进行后续的聚合、函数的执行。reduce端缓存默认是48M。①减小reduce端缓冲大小当map端数据量比较大,并且写出的速度很快...原创 2019-03-10 18:16:25 · 457 阅读 · 0 评论 -
数据倾斜解决方案之原理以及现象分析
一、什么是数据倾斜数据倾斜是大数据类型项目中最棘手的性能问题。数据倾斜一般会有两种表现: 大部分task执行很快,只有极少数的task执行得特别慢,可能耗费数个小时。 大部分task很快执行完,但有的task会突然报OOM内存溢出,导致task fail、task lost、resubmitting task,反复执行几次,特定的task还是跑不通,最后挂掉。可能是因为这个ta...原创 2019-03-10 18:33:48 · 697 阅读 · 0 评论 -
Spark SQL数据倾斜解决方案
由于Spark都是基于RDD的特性,所以可以用纯RDD的方法,实现和Spark SQL一模一样的功能。之前在Spark Core中的数据倾斜的七种解决方案,全部都可以直接套用在Spark SQL上。Spark SQL的数据倾斜解决方案:聚合源数据:Spark Core和Spark SQL没有任何区别 过滤导致倾斜的key:在sql中用where条件 提高shuffle并行度:gro...原创 2019-03-10 20:24:38 · 3014 阅读 · 0 评论 -
Spark性能调优---算子调优
一、MapPartitions提升Map类型操作性能Spark中,每个task处理一个RDD的partition。①MapPartitions的优点如果是普通的map,比如一个partition中有一万条数据,那么function需要执行和计算一万次。如果使用了MapPartitions,一个task只执行一次function,function一次接受所有的partition数据。只要...原创 2019-03-05 22:07:46 · 312 阅读 · 0 评论 -
Spark性能调优(二)---在实际项目中调节并行度
一、什么是并行度并行度,其实就是指,Spark作业中 ,各个stage的task数量,也就代表了Spark作业在各个阶段(stage)的并行度。 二、并行度过低的危害假如,在spark-submit脚本里面,给Spark作业分配了足够多的资源,比如50个executor,每个executor有10G内存,3个cpu core。基本已经达到了集群或者yarn队列的资源上限。tas...原创 2019-01-30 14:10:43 · 276 阅读 · 0 评论 -
Spark性能调优(一)---在项目中分配更多的资源
一、分配更多资源性能调优的王道,就是增加和分配更多的资源,性能和速度上会得到很大提升。基本上,在一定的范围之内,增加的资源和性能的提升是成正比的。所以,性能调优的第一步是增加资源,调节最优的资源配置;第二步,能够分配的资源达到能力范围的顶端后,无法再分配更多的资源,需要考虑下面几个性能调优的点。 二、性能调优的点①分配哪些资源?executor cup per executo...原创 2019-01-30 11:01:08 · 224 阅读 · 0 评论 -
Kafka集群完全分布式安装
一、上传、解压kafka压缩包将kafka压缩包上传到Linux系统中,并进行解压[root@hadoop1 software]# pwd /home/software [root@hadoop1 software]# ll 总用量 48352 drwxr-xr-x 8 uucp 143 4096 10月 8 11:41 jdk1.8 drw...原创 2018-11-29 10:07:18 · 517 阅读 · 0 评论 -
Zookeeper集群安装配置
一、准备虚拟机,安装并配置jdk,jdk要求1.6以上版本关于虚拟机的安装配置,请移步:https://blog.csdn.net/Johnson8702/article/details/80924322关于虚拟机的克隆,并配置网络,请移步:https://blog.csdn.net/Johnson8702/article/details/80942334 二、上传zookeepe...原创 2018-11-29 13:48:49 · 201 阅读 · 0 评论 -
HBASE完全分布式安装
0、集群节点分配Hadoop01:Zookeeper+Hadoop+HBaseHadoop02:Zookeeper+HBaseHadoop03:Zookeeper+HBase 关于Hadoop2.0高可用集群搭建,请移步:https://blog.csdn.net/Johnson8702/article/details/84765141 1、安装和配置01节...原创 2018-12-04 12:57:56 · 653 阅读 · 0 评论 -
kafka的web管理工具---kafka-manager安装部署
关于kafka集群的安装配置,请移步:https://blog.csdn.net/Johnson8702/article/details/84588095 一、背景在kafka里面没有一个较好自带的web ui,启动之后无法通过页面查看,所以,在这里介绍一个第三方的kafka管理工具。 二、功能为了简化开发者和运维维护kafka集群工作,yahoo开发了一个基于web的ka...原创 2018-11-28 13:17:21 · 5562 阅读 · 1 评论 -
Squirrel SQL客户端使用图解
一、Squirrel简介Squirrel是一个连接数据库的客户端工具,一般支持JDBC的数据库都可以用它来简介,如连接MySQL。 二、安装准备下载jar包:squirrel-sql-3.7.1-standard.jar 三、安装①进入squirrel-sql-3.7.1-standard.jar文件所在的目录,在地址栏输入:cmd,进入命令窗口②在命令窗口输入:j...原创 2018-12-07 18:06:16 · 6323 阅读 · 0 评论 -
Hadoop2.0高可用集群搭建
0、集群节点分配Hadoop01:ZookeeperNameNode(active)DataNodeNodeManagerJournalNodeResourceManager(active)Hadoop02:ZookeeperDataNodeNodeManagerJournalNodeNameNode(standby)Hadoop03:Z...原创 2018-12-03 18:48:00 · 475 阅读 · 0 评论 -
HBase的SQL驱动---Phoenix
一、Phoenix简介Apache Phoenix是HBase的SQL驱动,是构建在Apache HBase之上的一个SQL中间层。Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入JDBC驱动。Phoenix使得HBase支持通过JDBC的方式进行访问,并将你的SQL查询转成HBase的扫描和相应的动作。Phoenix并不是想HBase那样用于map-re...原创 2018-12-07 15:13:03 · 1200 阅读 · 0 评论 -
Kafka彻底删除topic详解
一、前言严格来讲,kafka删除topic并不是很难,但是步骤比较麻烦,稍有不慎就会失败。本文就kafka删除topic的步骤做出详细解析。 二、详细步骤①停止kafka服务停止kafka的所有的消费者和生产者,关闭kafka,防止在删除topic之后,程序发现topic不存在而自动创建topic②修改配置文件在kafka安装目录的conf目录下,修改server.pr...原创 2018-12-11 17:24:02 · 3620 阅读 · 0 评论 -
Spark Stream、Kafka Stream、Storm和Flink对比,以及阿里巴巴基于Flink打造的Blink解决的问题
一、Spark Stream、Kafka Stream、Storm等存在的问题在设计一个低延迟、exactly once、流和批统一的,能够支撑足够大体量的复杂计算的引擎时,Spark Stream等的劣势就显现出来。Spark Streaming的本质还是一个基于microbatch计算的引擎。这种引擎一个天生的缺点就是每个microbatch的调度开销比较大,当我们要求的延迟越低,额外的开...原创 2018-08-30 14:31:16 · 8052 阅读 · 0 评论