- 博客(12)
- 收藏
- 关注
原创 Spark-BlockManager
简单说明BlockManager是管理整个Spark运行时数据的读写,包含数据存储本身,在数据存储的基础之上进行数据读写。由于Spark是分布式的,所有BlockManager也是分布式的,BlockManager本身相对而言是一个比较大的模块,Spark中有非常多的模块:调度模块、资源管理模块等等。BlockManager是另外一个非常重要的模块,BlockManager本身源码量非常大。本...
2020-04-16 11:21:13
3049
原创 Spark-内存管理详解
Spark内存管理1. 前言2. 堆内和堆外内存规划1. 堆内内存2. 堆外内存3. 内存管理接口3. 内存空间分配1. 静态内存管理机制1) 静态内存管理图示——堆内2) 静态内存管理图示——堆外2. 统一内存管理机制1) 统一内存管理图示——堆内2) 统一内存管理图示——堆外3) 动态占用机制图示4. 内存详解1. 存储内存管理1) RDD的持久化机制2) RDD缓存的过程3) 淘汰和落盘2....
2020-04-14 19:27:39
725
原创 Spark-Shuffle机制详解
Shuffle机制详解什么是Shuffle?shuffle中文翻译为洗牌,需要shuffle的关键性原因是某种具有共同特征的数据需要最终汇聚到一个计算节点上进行计算。发生在map方法之后,reduce方法之前。Shuffle一般包含两阶段任务:第一阶段:产生shuffle数据的阶段(map阶段) 补充:是ShuffleManager中的getWriter来...
2020-04-12 21:09:02
1536
原创 Hbase 优化
关于Hbase的优化高可用预分区手动设定预分区生成16进制序列预分区按照文件中设置的规则预分区使用JavaAPI创建预分区Rowkey设计内存优化基础优化高可用在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServer的负载,如果Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对Hma...
2020-03-31 22:16:05
336
原创 Hbase常用的API操作
package cn.rabcheng;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.apache.hadoop.hbase.client.*;import org.apache.hadoop.hbase.util.Bytes;import java.i...
2020-03-31 11:25:41
191
原创 Hbase之Split
默认情况下,每个 Table 起初只有一个 Region,随着数据的不断写入,Region 会自动进行拆分。刚拆分时,两个子 Region 都位于当前的 Region Server,但处于负载均衡的考虑,Master 有可能会将某个 Region 转移给其他的 Region Server。Region Split 时机:当1个region中的某个Store下所有StoreFile的总大小超...
2020-03-30 20:11:28
176
原创 Hbase数据真正的删除时间
Flush会进行删数据Flush只会删除当前memStore中重复的数据(timestamp较小的删除)StoreFile重复的并不会删被标记为DeleteColumn的不会被删除Major Compact也会进行删数据(当文件数>=3时,compact调用的也是major compact)major compact 会将全部重复的数据进行删除,包括Storefil...
2020-03-30 19:55:44
1028
1
原创 Hbase之Compact
HBase是将数据存在hdfs上面的。那么RegionServer全局的Flush都有可能会在hdfs上面形成很多的小文件,这是很浪费资源的。具体的浪费资源指的是:一个文件在hdfs上面都要消耗Namenode的150byte去存这个文件的元数据信息。所以Hbase要去对小的文件进行compact。Minor Compaction(将一个小的文件合并成几个大的)默认的,当文件数量>...
2020-03-30 19:08:01
199
原创 Hbase之MemStore的Flush
一般的这种Flush都是在时间和数据大小的维度去Flush的。结合图便于理解RegionServer级别的参数 <property> <name>hbase.regionserver.global.memstore.size</name> <value></value> ...
2020-03-30 18:34:19
205
原创 Hbase读写流程
注意:首先声明一点的是Hbase是一个读数据比写数据复杂(慢)的框架,所以先来看下写数据流程(以下为Hbase1.3.1版本) 另外:读写数据均与master无关Hbase写数据流程Client 先访问 zookeeper,获取 hbase:meta 表位于哪个 Region Server(保存在了zookeeper的/hbase/meta-region-...
2020-03-30 17:43:43
404
原创 Hbase详细架构图解
Hbase详细架构图解主要组件:注意:Hbase是依赖zookeeper和hdfs的,需要启动zk和hdfs。主要组件:Master:1.监控RegionServer2.处理RegionServer故障转移3.处理元数据的变更4.处理region的分配或转移5.在空闲时间进行数据的负载均衡6.通过Zookeeper发布自己的位置给客户RegionServer:1.负责存储H...
2020-03-30 10:53:30
1136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人