HBase架构
lxf310
这个作者很懒,什么都没留下…
展开
-
Apache HBase Region Splitting and Merging
转载自:http://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/For this post, we take a technical deep-dive into one of the core areas of HBase. Specifically, we will look at how Apac转载 2014-03-28 15:16:30 · 1005 阅读 · 0 评论 -
配置优化
原文链接:http://kenwublog.com/hbase-performance-tuning本文作者是淘宝Java中间件团队的技术专家晓锋,他将Apache HBase Book中关于性能相关的部分,翻译并以配置项为索引重新组织了相关内容,方便查阅。因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果。所以我以配置项驱动,转载 2014-04-21 14:25:59 · 589 阅读 · 0 评论 -
9.6 Regionserver
HRegionServer是RegionServer的实现。它负责承载和管理region。在分布式集群中,RegionServer运行在数据节点上。9.6.1 接口HRegionServer提供的方法既有面向数据的又有面向region的:数据(get, put, delete, next等)region(splitRegion, compactRegion等)例如,当H翻译 2014-03-26 13:50:25 · 758 阅读 · 0 评论 -
9.7 Region(部分)
Region是表的可用性和分布性的基本元素,每个列族包含在一个Store中,下面是这个主题的层次结构:Table (HBase table) Region (Regions for the table) Store (Store per ColumnFamily for each Region for the table)翻译 2014-03-26 18:38:42 · 1307 阅读 · 0 评论 -
[HBase]Write Path
转载自:HBase的批量put操作主要步骤1.同个region的put视为同一批操作2.对批量操作按rowkey进行字节排序Java代码 Collections.sort(actionsForRegion); 3.检查region server的全局内存是否超过阀值,如超过则唤醒flush线程进行flush操作转载 2014-05-05 16:25:41 · 760 阅读 · 0 评论 -
[HBase]Region assignment
接上文,我们创建表t1,列族c1,hbase.root目录为/new。当创建空表时,系统会自动生成一个空region,我们以这个region分配过程看下Region是如何在HMaster和Region server(以下简称rs)中创建的。大致过程如下:1.HMaster指定分配计划,一个region只会分配给一个rs,多个rs均匀分配2.多个rs并发执行assiagnment操作转载 2014-07-18 16:14:29 · 1038 阅读 · 0 评论 -
Region 分配
转载自:http://tangay.iteye.com/blog/736871 HBase 的 cluster 中, Region 是如何分配这个问题,困扰了我很久,经过代码分析和调试,得出了一些见解,缺点和错误请大家批评指正。 参与 Region 分配的重要对象在 Region 分配过程中,起着重要作用有如下一些对象。 HMaster— 是 HBase 中的 M转载 2014-07-18 16:43:33 · 1451 阅读 · 0 评论 -
HBase File Locality in HDFS
转载自:http://www.larsgeorge.com/2010/05/hbase-file-locality-in-hdfs.htmlOne of the more ambiguous things in Hadoop is block replication: it happens automatically and you should not have to worry abo转载 2014-07-20 15:01:45 · 1629 阅读 · 0 评论 -
hbase region split 源码分析
转载自:http://blackproof.iteye.com/blog/2037159转载 2014-08-08 16:02:46 · 1506 阅读 · 0 评论 -
9.1 概览
9.1.1 NoSQLHBase是一种“NoSQL”数据库。 “NOSQL”是一个通用术语,指某数据库不是将SQL语言作为主要访问语言的RDBMS。有很多类型的NoSQL数据库,如BerKeleyDB是本地NoSQL数据库的一个例子,而HBase则更像是一个分布式数据库。从技术上讲,HBase更像是“数据存储”,而非“数据库”。因为HBase缺少很多RDBMS的特性,如带有类型的列、二级索引、翻译 2014-03-25 20:14:21 · 582 阅读 · 0 评论 -
9.4 客户端请求过的滤器
Get和Scan实例可以选择性地配置应用有RegionServer上的过滤器(filters)。过滤器是比较容易使人迷糊的工具,因为有许多不同类型的过滤器,最好通过了解过滤器的功能来学习它们。9.4.1 结构结构过滤器包含其他过滤器。9.4.1.1 FilterListFilterList表示一个过滤器列表,这些过滤器之间存在FilterList.Operator.MUST_PAS翻译 2014-03-25 22:05:34 · 750 阅读 · 0 评论 -
hbase 源码解析之master篇1
转载自:http://koven2049.iteye.com/blog/974714master启动过程: -->首先初始化HMaster-->创建一个rpcServer,其中并启动-->启动一个Listener线程,功能是监听client的请求,将请求放入nio请求队列,逻辑如下:-->创建n个selector,和一个n个线程的readpool转载 2014-04-01 21:13:36 · 819 阅读 · 0 评论 -
hbase 源码解析之master篇2
转载自:http://koven2049.iteye.com/blog/976619HMaster的RPC接口,分两类: HMaster与RegionServer通讯接口,总共只有两个-->regionServerStartup: 当regionserver启动时会调用该接口-->将发请起求的RS的信息写入serverInfo,注意这里的hostname转载 2014-04-01 21:14:21 · 633 阅读 · 0 评论 -
[HBase]KeyValue and HFile create
转载自:HBase put数据时会先将数据写入内存,其内存结构是一个ConcurrentSkipListMap,其Comparator是KVComparator。keyvalue对象结构KVComparator的KeyValue对象比较过程1.使用KeyComparator比较rowkey,结果是rowkey字节序从小到大2.如果rowkey一样转载 2014-05-05 16:23:01 · 838 阅读 · 0 评论 -
[HBase]Region location
转载自:HBase的table是该region切分的,client操作一个row的时候,如何知道这个row对应的region是在哪台Region server上呢?这里有个region location过程。主要涉及到2张系统表,-ROOT-,.META.。其结构见图 在zookeeper的/hbase/root-region-server节点中存着-ROOT-表所在的转载 2014-05-05 16:22:14 · 2010 阅读 · 0 评论 -
[HBase]Flush
转载自:http://iwinit.iteye.com/blog/1827404Flush过程,对应MemStoreFlusher1.是否需要做global flush,有则取当前rs最大的region进行flushJava代码 if (isAboveLowWaterMark()) { .... //获取m转载 2014-05-05 16:24:53 · 869 阅读 · 0 评论 -
[HBase]Get
转载自:http://iwinit.iteye.com/blog/1831678转载 2014-05-06 15:25:55 · 1090 阅读 · 0 评论 -
9.3 客户端
HBase的客户端HTable负责寻找承载感兴趣的行的RegionServer,它通过查找.META.和-ROOT-表来完成这项工作。在定位了需要的region后,这些信息会被缓存在客户端,以便后续查询无需重复之前的查找过程。当region由于master运行的负载均衡或所在RegionServer的死掉等原因被重新分配时,客户端将重新查找目录表以确定用户所需region的新位置。管理方法是通翻译 2014-03-25 21:22:43 · 641 阅读 · 0 评论 -
9.5 主节点
HMater是主服务器的实现。主服务器负责监管集群上的所有RegionServer实例,也是元数据变更的接口。在分布式及群众,主服务器通常运行在命名节点(NameNode)上。9.5.1 启动行为如果是多主节点的集群环境,则各个主服务器会通过竞争来管理集群。如果一个活动的主服务器在ZooKeeper上的租约丢失了或主服务器停掉了,那么其余的主服务器将纷纷竞争着接管管理集群的工作。9.5翻译 2014-03-25 22:33:39 · 664 阅读 · 0 评论 -
9.2 目录表
目录表是指作为HBase数据表存在的两个特殊的数据表-ROOT-和.META.。在使用HBase shell的list命令时,这两个表会被过滤掉,但事实上,它们就像其他的数据表一样。9.2.1 ROOT-ROOT-记录.META.表的位置,它的表结构如下:键:.META. region key (.META.,,1)值:info:regionin翻译 2014-03-25 20:44:46 · 776 阅读 · 0 评论 -
HBase Scan过程解析
转载自:http://zlx19900228.iteye.com/blog/1178233(1) 卖家导出订单部分: 卖家导出订单部分的表结构设计: Rowkey: seller_id+ gmt_create+ parent_id+biz_order_id Family:s quality:s value: 93个字段的String串,并且做gzip压缩。 Hbase中的参数设转载 2014-12-16 21:52:53 · 7802 阅读 · 0 评论