hbase-各版本特性

1.0

1.API的变化,比如放弃了客户端几个重要的API:( HTableInterface, HTable,HBaseAdmin),建议程序升级到新的API,老的PAI会在2.X中删除。
2.不重启regionserver的情况下读取配置文件。
3.master节点也运行regionserver。master与regionserver共享RPC端口。
4.global memstore和block cache大小的自动调整。
5.Bucket cache改进(data blocks的可用性和压缩方面)
6.集群中一个新的可插拔式的终端来复制成自定义存储。
(A new pluggable replication endpoint to plug in to HBase’s inter-cluster replication to replicate to a custom data store)
7.新增truncate table 命令
8.新增meta table来替代zk来进行更快的region分配(此功能默认是关闭都)
9.广泛的文档改进
10.[HBASE-12511] - namespace permissions - add support from table creation privilege in a namespace ‘C’
11.位Thrift Server添加Thrift-over-HTTPS 和 doAs支持(?)
12.bulkload复制表
13.使用前缀设置一个行的开始和结束更加easy了。
14.脚本停止regionserver使用RPC
15.客户端的原子性检查和变化的支持。
16.自动增加heap size的值如果开始没有指定大小的话。
17.regionserver协处理器终端。
18.添加了在一个regionserver上压缩所有region的命令。
19.添加LongComparator过滤器
20.[shell]在线加载配置文件的改变。
21.REST server的一些修复。
22.需要zk3.4.X的支持。
23.需要hadoop2.x的支持
24.jdk1.7,不再支持1.6
25.默认的端口号已经由600xx改成了160XX
26.默认使用hfile version3
27.Slab cache已经被移除,使用bucket cache
28.默认的regionserver堆内存由1G改为jdk默认的数值,一般为物理内存的四分之一。
29.mapred包和类已经被废除。
30.加入两个新的模块:hbase-annotations 和 hbase-rest

2.0

2018年4月30日HBase发布了2.0的Release版本。HBase的2.0版本承载了太多的Features,共包含4551个Issues,可以说是迄今最大的一个版本。

HBase2.0做了那么多的改动,总有一些新特性值得我们去关注。这里做一个简单的介绍,后续会对某些特性做详细的介绍。

A new Region assignment manager

AssignmentManager V2(“AMv2”)基于Procedure V2实现,能够更快速的分配Region,维护的region状态机存储不再依赖于ZooKeeper,能够更好的应对Region长时间RIT问题。

Offheaping of Read/Write

减少对Heap内存的使用,改用Offheap区的内存,有效减少GC压力

In-Memory Compaction

重新设计了CompactingMemStore 替代 DefaultMemStore,CompactingMemStore中的数据达到一定大小以后,不是直接Flush成HDFS中的HFile文件,而是先Flush到内存中的一个不可改写的Segment,这样,内存中的多个Segments可以预先合并,当达到一定的大小以后,才Flush成HDFS中的HFile文件,这样做的好处是希望有效降低Compaction所带来的写IO放大问题。

NettyRpcServer

HBase2.0 开始默认使用NettyRpcServer
使用Netty替代HBase原生的RPC server,大大提升了HBaseRPC的吞吐能力,降低了延迟

Async RPC Client

HBase2.0 Client不在是原来同步等待,而是利用异步RPC机制,大大提高Client端请求并发度,有效提高资源利用率,扩大吞吐。

RegionServer Group

在HBase 2.0中我们可以将RegionServer划分到多个逻辑Group中,这样可以提供多租户的能力。

Support for MOB

MOB特性使得HBase支持存储小于10MB 的中等媒体对象数据,这些小对象文件采用独立的HFile文件进行存储,相比原来直接存储大对象插入hbase,其读写效率更高;Mob数据存储还是以hfile格式存储,兼容HBase现有特性,如snapshot、bulkload、replication等。MOB数据文件有独立的compaction和expire clean机制,稳定性更可控。

与1.x版本的兼容性
1.x版本的Client可以访问2.0版本的集群,进行正常的数据读写操作。但从1.x版本不停服务的情况下滚动升级到2.0版本是没法做到的,1.x版本的coprocessor/Endpoint不做改动的情况下也无法在2.0版本中正常使用。

hbase-client-project-2.4.16.jar是一个用于连接HBase数据库的Java客户端项目。HBase是一个分布式、面向列的NoSQL数据库,它可以存储大规模数据,并提供高可靠性和高性能的数据访问。而hbase-client-project-2.4.16.jar则是用来连接HBase数据库的Java客户端库。通过这个库,开发人员可以在Java应用中方便地访问HBase数据库,进行数据的读取、写入和管理操作。 hbase-client-project-2.4.16.jar库提供了丰富的API,使得开发人员可以编写简洁、高效的代码来操作HBase数据库。通过这个库,可以轻松地建立与HBase集群的连接,创建、删除表格,进行数据的增删改查等操作。此外,hbase-client-project-2.4.16.jar也提供了一些高级特性,比如支持过滤器、批量操作、数据版本控制等功能,让开发人员能够更加灵活地利用HBase数据库进行数据处理。 除此之外,hbase-client-project-2.4.16.jar还支持与HBase的安全认证和权限控制,可以保障数据访问的安全性。开发人员可以使用这个库来编写安全的Java应用,确保对HBase数据库的数据进行合法、受控的访问。 总之,hbase-client-project-2.4.16.jar是一个强大、灵活的Java客户端库,为开发人员提供了便捷的方式来连接、操作HBase数据库。无论是小规模的应用还是大规模的数据处理需求,它都能够满足开发人员的要求,帮助他们更有效地利用HBase数据库。 (字数: 258)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值