- 浏览: 283517 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (247)
- free talking (11)
- java (18)
- search (16)
- hbase (34)
- open-sources (0)
- architect (1)
- zookeeper (16)
- vm (1)
- hadoop (34)
- nutch (33)
- lucene (5)
- ubuntu/shell (8)
- ant (0)
- mapreduce (5)
- hdfs (2)
- hadoop sources reading (13)
- AI (0)
- distributed tech (1)
- others (1)
- maths (6)
- english (1)
- art & entertainment (1)
- nosql (1)
- algorithms (8)
- hadoop-2.5 (16)
- hbase-0.94.2 source (28)
- zookeeper-3.4.3 source reading (1)
- solr (1)
- TODO (3)
- JVM optimization (1)
- architecture (0)
- hbase-guideline (1)
- data mining (3)
- hive (1)
- mahout (0)
- spark (28)
- scala (3)
- python (0)
- machine learning (1)
最新评论
-
jpsb:
...
为什么需要分布式? -
leibnitz:
hi guy, this is used as develo ...
compile hadoop-2.5.x on OS X(macbook) -
string2020:
撸主真土豪,在苹果里面玩大数据.
compile hadoop-2.5.x on OS X(macbook) -
youngliu_liu:
怎样运行这个脚本啊??大牛,我刚进入搜索引擎行业,希望你能不吝 ...
nutch 数据增量更新 -
leibnitz:
also, there is a similar bug ...
2。hbase CRUD--Lease in hbase
hbase's architecture overview:
note:
* why hbase use zookeeper but hadoop?
hbase use zk to implements the heartbeat mechanism ,and hadoop use build-in heartbeat to detect node states and assign tasks;of course this will simly the code complexcity and decouple easily.
* HMaster从不进行选举
虽然hbase使用了zookeeper,但这只是利用了zk的其中一些特点:高可用性,作用协调器的特点,但这并不意味当它失效后会再次进行选举,这与hadoop中的NameNode不参与选举是一样的。
*自动分区
当表的大小超过表的指定阀值时,hbase会自动的将表横向切分为多个regions,所以一个HRegionServer会存储一个表的多个某个shard;当然,如果有多个表,这意味着可能一个RS同时存储多个shards。
*自动扩展
加入 一个region server node后,再运行regionserver.sh(really?),将会使用regions 中的shards 再次balance,也就是说负载会自动分布。这点与hdfs是类似的。
*容错性
因为一个table将被 分成多个regions,所以如果 其中一个rs失效后,只会影响表中的部分数据,降低了每个rs的重要性。可以说hbase没有spare功能 ;但由于hdfs中的每个Node都 是存放其中一个replication,所以这个问题在hdfs中是不会出现 的。
*hbase与database的区别
1.hbase中的cell 是有版本 的
2.hbase中的row是按字典顺序已经排序的。
3.hbase中的column只要已经定义family,是可以动态添加的(add on the fly),但删除时只能对family删除,即columns会被全部删除,see 初探之三(小结)
4.hbase中没有多表的join功能,但由于它是适用于sparse(not spare)存储的,所以可以转变一下:
将一个row存储为多表join的情况.
5.hbase支持指定column排序吗?
目前版本是不支持的。
不过如果排序fields不多,可以变相地实现:
利用row key已排序的特点,即将相应 的filed value append to row key.
不过目前已经有了几种解决方法:
1.使用secondary index机制
2.使用mapred来计算
see:
http://stackoverflow.com/questions/2516857/hbase-schema-design-to-make-sorting-easy
https://github.com/ykulbak/ihbase
支持条件过滤吗?
可以的。当使用getScanner(scan)时,其中的scan就可以指定,发现filter package有丰富的相关实现,如RowFilter(filter by row key),ValueFilter(filter by column cell value)...
其实它是在每个rs中建立一个instance of filter来实现的。
6.hbase只支持行级事务,不支持表级以上的事务处理。
-----------------
*数据模型
conceptual(logical)view
row key | time stamp(version) | column family "info" | column family "intcol" |
1 | v5 | "info:nation"=china | |
1 | v4 | "info:name"=lili | "intcol:age"=23 |
1 | v2 | "info:name"=lila | |
1 | v2 | "intcol:age"=22 | |
1 | v1 | "intcol:age"=20 |
从上图可以看出,在v2时修改了二个column (qualifier) values,但这并不表示是同时修改,只不过它们刚好在版本上是重叠。
physical view:
row key | time stamp | column family "info" |
1 | v5 | "info:nation"=china |
1 | v4 | "info:name"=lili |
1 | v2 | "info:name"=lila |
row key | time stamp | column falimy "intcol" |
1 | v4 | "intcol:age"=23 |
1 | v2 | "intcol:age"=22 |
1 | v1 | "intcol:age"=20 |
注意:以上版本并不一定是顺序的,比如可以删除指定版本的cell。
当然,如果 现在查询row key =1的记录并没有指定版本号时,得到如下結果:
row key | info:nation | info:name | intcol:age |
1 | china | lili | 23 |
即获得的是各cells最新版本的values
所以说hbase是”先横向拆分,再纵向存储“,即每个RS都 是以column的方式进行存储的;并且每个rs中的sub table都 应该是独立存储的,互不干扰。
这点类似于hive里的RCFile吧?
* 写入流程
*读取流程
*为什么可以随机读写,实时访问?
1.Hbase中每个文件从集群启动开始 一直保持打开 状态 ,这样一来减少了每次访问时打开文件的时间开销;但这样当然 引起 了另外一个问题:文件打开数过多。其中默认是ulimit=1024
2.
see also:hbase cluster installation -notes
http://hbase.apache.org/book.html#datamodel
发表评论
-
zookeeper-network partition
2016-02-29 17:36 1855env: hbase,94.26 zookeeper, ... -
hbase-export table to json file
2015-12-25 17:21 1669i wanna export a table to j ... -
hbase-logroll optimizations
2015-09-21 12:10 1054as u know,the hbas's dat ... -
hoya--hbase on yarn
2015-04-23 17:00 446Introducing Hoya – HBase on YA ... -
upgrades of hadoop and hbase
2014-10-28 11:39 7421.the match relationships ... -
hbase-how to know which regionservers are stuck when shutdown a cluster
2014-10-22 15:09 577u know,when u shutdowning a ... -
hbase-bloom filter
2014-10-20 16:06 354there is no notable performa ... -
compile hbase
2014-10-15 17:42 900IF u want to compile a ... -
hbase-region balancer
2014-08-28 13:52 683why along with the time go ... -
HBase Versus Bigtable(comparison)
2014-07-01 23:13 562below views are all from hbas ... -
hbase -how many regions are fit for a table when prespiting or keeping running
2014-06-27 11:46 715how many regions are thinked ... -
hbase -tables replication/snapshot/backup within/cross clusters
2014-06-24 18:09 802serial no soluti ... -
some important optimized advices for hbase-0.94.x
2014-06-20 17:56 1233The following gives you ... -
hbase PerformanceEvaluation benchmark - 0.94.2 VS 0.94.16 VS 0.96
2014-03-23 17:56 1094i worked to benchmark hbase p ... -
install snappy compression in hadoop and hbase
2014-03-08 00:36 4561.what is snappy ... -
downgrade hbase from 0.94.16 to 0.94.2
2014-03-07 02:25 1461we have a cluster about 25 no ... -
2。hbase CRUD--Caching VS Batch
2013-08-26 17:28 8161 in case of ONE region,a ta ... -
5。hbase高级部分:compact/split/balance及其它维护原理-delete table
2013-08-18 02:53 1093* table disabled is NOT ... -
2。hbase CRUD--Read(Scan) operations(server side)
2013-08-15 17:39 962just recovered from a di ... -
2。hbase CRUD--Read(query) operations
2013-08-15 16:41 854read Note: -Ge ...
相关推荐
Initial of HBase Architecture Availability Problems Availability Problems-- Phoenix Write Path Availability Problems-- Fail Recovery Availability Problems-- Fail Recovery Dead Lock Availability ...
1.What Is HBase? 2.HBase Principles 3.HBase Ecosystem 4.HBase Sizing and Tuning Overview 5.Environment Setup 6.Use Case: HBase as a System of Record 7.Implementation of an Underlying Storage Engine 8....
[architecture](/docs/images/architecture.png "architecture") ### 软件模块 * Kafka:作为日志事件的消息系统,具有分布式,可分区,可冗余的消息服务功能。 * Spark:使用spark stream功能,实时分析消息...
Part III: Architecture Chapter 8: Major Components of a Cluster Chapter 9: Regions Chapter 10: Finding a Row in a Table Chapter 11: Compactions Chapter 12: Region Failover Chapter 13: ...
7. **Architecture**:深入解析HBase的内部工作原理,包括数据存储、数据模型和系统架构。 8. **Best Practices**:给出最佳实践建议,帮助用户避免常见问题,提高系统效率。 通过这两份文档,读者可以全面了解...
It covers the HBase data model, architecture, schema design, API, and administration.Apache HBase is the database for the Apache Hadoop framework. HBase is a column family based NoSQL database that ...
architecture followed by the BigTable. HBase inherits the storage design from the column-oriented databases and the data access design from the keyvalue store databases where a key-based access to a ...
写路径重构采用了 Staged Event-Driven Architecture(SEDA),这种架构将数据写入过程分为几个阶段,包括写 WAL、更新 memstore 和完成 MVCC(多版本并发控制)。这种按阶段处理写操作的方法可以减少数据丢失的风险...
Modeled after Google’s BigTable architecture, HBase scales to billions of rows and millions of columns, while ensuring that write and read performance remain constant. Fully revised for HBase 1.0, ...
Architecture & Implementation Apache HBase Connector的架构主要包括两个部分:Spark Catalyst Engine和HBase。Spark Catalyst Engine负责查询计划和优化,而HBase则作为快速访问的键值存储。connector实现了标准...
3. 宏观架构(Macro Architecture) 宏观架构描述了系统整体的布局和组件之间的交互。Quanta的宏观架构应当能够支持实时处理和分布式计数器的维护,并且确保所有数据更新和读取操作的高效率和可靠性。 4. 水平扩展...
HBase Succinctly Published on: Feb 8, 2016 Description Use HBase to improve your control of big data....The Architecture of HBase Inside the Region Server Monitoring and Administering HBase
Architecture Evolution: 在贝壳中,HBase 的架构演进经历了多个阶段,从初始的 Olap 场景到目前的实时 ETL 场景。架构演进的每个阶段都带来了新的挑战和机遇。 OLAP Scenario: 在 Olap 场景中,HBase 需要满足...
While reading into Hadoop you found that for random access to the accumulated data there is something call HBase. Or it was the hype that is prevalent these days addressing a new kind of data storage...
It covers the HBase data model, architecture, schema design, API, and administration. Apache HBase is the database for the Apache Hadoop framework. HBase is a column family based NoSQL database that...
[HBase体系结构](https://example.com/hbase_architecture.png) #### 三、HBase的关键特性 1. **动态列**:HBase 支持动态添加列,这意味着可以在运行时添加新的列族,无需预先定义所有列。 2. **多版本数据**:...
在 Architecture Subtitle Text 部分,作者展示了 AntsDB 的架构细节,包括应用程序、MySQL 驱动程序、HBase 集群、HBase 连接器、事务管理器、SQL 解析器、本地缓存、事务和查询结果等。 在 Fight the GC 部分,...
HTAP System Architecture HTAP 系统架构主要由三大组件组成:ApsaraDB HBase、Phoenix 和 Spark。ApsaraDB HBase 负责存储和处理大规模数据,Phoenix 负责提供标准的 SQL 接口,Spark 负责快速处理大规模数据。 ...
Intro,Configure,Upgrade,Shell,Data Model,Schema Design,Hbase and MapReduce,Security,Architecture,In-memory Compaction,Backup and Restore, Synchronous Replication,Hbase APIs, 等等