- 博客(19)
- 收藏
- 关注
原创 [Binospace] Google-MegaStore的解读
MegaStore是Google在BigTable之上实现了一个跨机房高可用的数据库。它提供了类似DB的数据分布、索引的功能,实现了在EntityGroup内部以及EntityGroup之间的事务性,并且通过Paxos协议实现在DC之间多备份的一致性。MegaStore的目标:在跨机房PB级的数据规模上,支持交互式在线服务。我们知道在Google内部的访问情况是,每天几百亿次的访问请求的应...
2014-03-07 15:53:26
632
原创 [Binospace] Sparrow(SOSP13)—一种加速短作业的调度方法
背景:当前大规模数据分析框架的发展朝着两个趋势在变化:1)任务执行时间更短。2)更大的任务并行度。 因此,在当前分布式计算框架的调度系统中,需要有所改变,以满足如下的需求:1)更快的任务调度效率,mill-seconds级别。2)良好的容错,High Availability.3)较高的吞吐率,High Throughput. 分析一下:什么原因会造成多...
2014-03-07 11:42:42
279
原创 [Binospace] 深入分析HBase RPC(Protobuf)实现机制
背景在HMaster、RegionServer内部,创建了RpcServer实例,并与Client三者之间实现了Rpc调用,HBase0.95内部引入了Google-Protobuf作为中间数据组织方式,并在Protobuf提供的Rpc接口之上,实现了基于服务的Rpc实现,本文详细阐述了HBase-Rpc实现细节。HBase的RPC Protocol 在HMaster、Regi...
2014-03-06 16:35:42
519
原创 [Binospace] HBase新特性—Stripe Compaction
借鉴于LevelDB、Cassandra的Compaction方法,https://issues.apache.org/jira/browse/HBASE-7667 提出了Stripe Compaction的方法。Motivation:1)过多Region会增大RS维护的开销,降低RS的读写性能。随着数据量的增大,在一定程度上增加Region个数,会提高系统的吞吐率。然而,RS上服务的Re...
2014-03-06 14:48:16
290
原创 [Binospace] HBase实战系列3—搭建ThriftServer实时监控系统
背景:在hbase应用中,如果使用C++来访问HBase,往往通过ThriftServer进行数据的读写,ThriftServer服务的状况直接影响了应用服务的体验。因此,在HBase ThriftServer之上的Metrics系统、以及实时监控系统,可以第一时间发现服务质量变化以及相关问题,同时,良好的监控系统,也有助于服务的完善。ThriftServer实时监控系统的挑战1)...
2014-03-03 11:53:29
360
原创 [Binospace] HBase实战系列2—Region监控
1、背景随着大数据表格应用的驱动,我们的HBase集群越来越大,然而由于机器、网络以及HBase内部的一些不确定性的bug,使得系统面临着一些不确定性的故障。因此,HBase上有很多的Region组成,需要控制每个表格的Region的状态。 分析:1)实时掌控Region的状态。应用的每次访问要直接与HBase某个Region关联,需要探测Table上Region是否处于可...
2014-03-03 11:13:15
141
原创 [Binospace] HBase实战系列1—压缩与编码技术
1、hbase压缩与编码的配置安装LZO解决方案:1)apt-get install liblzo2-dev2)hadoop-gpl-compression-0.2.0-dev.jar 放入classpath把libgpl下的共享库文件放入/opt/hbase/hbase/lib/native/Linux-amd64-64/libgplcompression.a libgplcompr...
2014-03-03 10:03:48
194
原创 [Binospace] HBase隔离技术
背景:随着HBase在性能和稳定性持续改善和成功案例的积累,HBase逐渐成为了在大数据NoSQL领域的事实标准。越来越多有着大数据应用和处理需求的互联网公司、IT公司,将离线或者半在线的数据平台搭建在HBase之上。在深入使用和运维过程中,我们发现当新的应用需求而来时,处于性能和效率的考虑,我们就要根据数据规模单独搭建系统,而应用需求和规模的变化,会给HBase的运维和资源使用带来了...
2014-03-01 16:11:07
249
原创 [Binospace] 深入分析HBase Compaction机制
Compaction介绍Compaction是buffer->flush->merge的Log-Structured Merge-Tree模型的关键操作,主要起到如下几个作用:1)合并文件2)清除删除、过期、多余版本的数据3)提高读写数据的效率Minor & Major Compaction的区别1)Minor操作只用来做部分文件的合并操作以及包括m...
2014-03-01 15:57:16
175
原创 [Binospace] HBase Flush操作流程以及对读写服务的影响
HBase Flush操作流程以及对读写服务的影响 HBase的Flush操作的触发条件:1)Manual调用,HRegionInterface#flushRegion,可以被用户态org.apache.hadoop.hbase.client.HBaseAdmin调用flush操作实现,该操作会直接触发HRegion的internalFlush。2)HRegionServer的...
2014-03-01 14:53:23
126
原创 [Binospace] HBase Metrics参数详解
本研究针对HBase 0.94.* 及以上版本的系统。RegionServer本目标主要集中分析在RegionServer提供的相关Metrics接口。在0.94新版本中,Metrics包括:RegionServerMetrics、JvmMetrics、以及RegionServerDynamicMetrics。下面分别进行介绍。1、RegionServerMetrics这是延续...
2014-02-28 17:44:56
710
原创 [Binospace] OpenTSDB的设计之道
OpenTSDB是一个架构在Hbase系统之上的实时监控信息收集和展示平台。它在海量数据的压力下,仍然保证了存储的效率,那么它背后有什么值得借鉴的地方呢?1)使用AsyncHbase而非HBase自带的HTable。使用线程安全、非阻塞、异步、多线程并发的HBase API,在高并发和高吞吐时,可以获得更好的效果。建议在使用AsyncHBase时,在CPU core有保证的前提下,可...
2014-02-28 10:19:25
181
原创 [Binospace] HBase监控之Region空洞
Region是HBase的资源管理单位,在Region的生命周期内,一个Region迁移会发生在如下的情况下:1)HMaster的Load Balance,造成部分Region在RS之间迁移。默认使用了org.apache.hadoop.hbase.master.DefaultLoadBalancer,仅仅考虑RS上Region个数的分配的均衡性。2)Region Split过程。这部分内...
2014-02-28 09:27:03
378
原创 [Binospace] HBase Metrics机制分析与架构总结
HBase MetricsHBase Metrics是一种监控信息实时收集机制。它负责收集的信息有:功能性信息(Compaction Queue、Store Files个数等)JVM使用信息 (Heap Memory 的变化)rpc访问信息借助与Hadoop Metrics同样的方式,向Ganglia汇报。Ganglia is a scalable distri...
2014-02-27 17:36:45
191
原创 [Binospace] HBase在Facebook Message存储的使用经验总结
HBase数据存储状况1、2PB+ of online data in HBase (6PB+ with replication; excludes backups),存储了message data, metadata, search index 等信息。2、每天大概有8B+Messages,增长到每月大概产生250TB的数据。3、Traffic to HBase ▪ 75+ Bi...
2014-02-27 16:25:52
266
原创 [Binospace] HBase性能优化2—使用Coprocessor进行RowCount统计
对于Table内RowKey个数的统计,一直是HBase系统面临的一项重要工作,目前有两种执行该操作的方式。1)使用MapReduce进行。可以借助HTableInputFormat实现对于Rowkey的划分,但是需要占用资源,另外由于使用的Hadoop集群提交作业,经常会遇到不能申请到资源的情况,延迟较大,不适合应用的频繁访问。2)使用Scan+KeyOnlyFilter的方式进行。...
2014-02-26 16:48:18
183
原创 [Binospace] HBase性能优化1—使用Filter降低客户端压力
一般我向别人介绍HBase的时候,都会这样说:Hbase是加强版的Mysql,存储容量更大、逻辑形式更加灵活。至于BigTable那篇论文的内容,它的意义在于提供了一种更加灵活地组织数据的形式。Hbase以Distributed、Sorted RowKey、MultiDimentional作为亮点,吸引了如Facebook、Amazon、Taobao在内的一大批Internet公司的使用。HB...
2014-02-26 16:34:10
136
原创 [Binospace] Linux系统性能分析的实践方法
任何系统的性能分析以及分布式负载平衡策略的执行,需要首先了解当前系统的资源使用情况。从资源角度进行划分,可以把资源分为如下4类:1)处理器资源,CPU2)内存资源,Memory,从广义概念上讲,这还包括Swap\Cache\Buffer等3)磁盘资源,Disk4) 网络资源,Network IO,从广义概念上讲,还要考虑上层网络交换机的带宽和交换机之间的带宽。 1、...
2014-02-25 16:08:01
187
原创 [Binospace] 深入分析HBase-Phoenix执行机制与原理
针对HBase上SQL解决方案,目前社区内比较热门的有Cloudera的Impala,Horntworks的Drill,以及Hive。根据与HBase的操作方式,可以分为三种:以MapReduce为核心,单个任务使用hbase-client原始接口访问;以Google Dremel为核心,单个任务使用hbase-client原始接口访问;以HBase-Coprocessor为...
2014-02-25 10:42:15
297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人