Hbase计数器异常Attempted to increment field that isn
该异常为要自增的字段不为数字数字类型,所以调用incrementColumnValue方法会报错首次put时指定为long字段:put.add(Bytes.toBytes("cf"),Bytes.toBytes("count"), Bytes.toBytes(1l)); //1后边有个l再次自增:table.incrementColumnValue("rowkey1".getBytes(),"cf".getBytes(),"count".getBytes(),1...
Hbase运维手册
1. region情况 需要检查 1. region的数量(总数和每台regionserver上的region数) 2. region的大小 如果发现异常可以通过手动merge region和手动分配region来调整 从CDH前台和master前台以及regionServer的前台都可以看到region数量,如master前台: ...
Hbase 日常维护
<div id="blog_content" class="blog_content"><p>一,基本命令:</p><p> 建表:create 'testtable','coulmn1','coulmn2'<br /> create 'UserTrajectory','cs',{NUMREGIONS => 4, SPLITALGO => 'HexStringSplit', VERSIONS => 1, COMPRESSION => 'snapp...
Hbase0.94之后版本 region分裂策略
0.94版本之前 分裂的策略采用ConstantSizeRegionSplitPolicy的,在这个情况下只要将配置文件中的hbase.hregion.max.filesize设置为一个超大值则可以将自动分裂关闭。0.94版本之后 默认策略是IncreasingToUpperBoundRegionSplitPolicy,这个策略是当在一个RS中同一个表的region数量小于9时,如果storefile的最大大小...
HBASE列族不能太多的真相
HRegionServer内部管理了一系列HRegion对象,每个HRegion对应了table中的一个region,HRegion中由多 个HStore组成。每个HStore对应了Table中的一个column family的存储,可以看出每个columnfamily其实就是一个集中的存储单元,因此最好将具备共同IO特性的column放在一个column family中,这样最高效。HStore存...
Hbase 事务
原理:HBase采用MVCC来实现ACID,同时HBase中没有混合读写事务。简单说来,HBase的ACID就是在各个RegionServer上维护一个我称之为“严格单调递增事务号”(strictly monotonically increasing transaction numbers)的东东。当一个写事务(put,delete)开始时将获取到下一个最高事务号,HBase将这个号称为“写入号...
Hbase 权限控制
问题导读1.HBase的权限管理需要配置哪些配置文件?2.HBase提供的安全管控级别包括哪些?3.使用哪个命令可实现在HBase中赋值权限?4.如何收回权限?HBase的权限管理依赖协协处理器。所以我们需要配置hbase.security.authorization=true,以及hbase.coprocessor.master.classes和hbase.coprocessor.master.classes使...
Phoenix:在HBase上执行SQL查询
近日,Salesforce.com开源了 Phoenix,这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询。InfoQ有幸采访到了Salesforce.com的主开发者James Taylor以了解关于Phoenix的更多信息。除了无数的SQL、NoSQL与NewSQL数据库,Salesforce.com又 宣布了 Phoenix项目,这是构建在 Apache HBase(列式大数据存...
hbase单表加ObServer
继承BaseRegionObserver类 打成jar包 上传到hdfs进入hbase shell 将表disable 执行 alter 'sdzn_public', METHOD => 'table_att','coprocessor'=>'hdfs://192.168.0.237:9000/hbase/observer/regionObserver.jar|cn.sdzn.web.hbaeObServer.solrindexcoprocessorobserver|1001|'将表enableOK...
基于Solr的HBase多条件查询测试
背景:某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询。HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快 速检索,对于多字段的组合查询却无能为力。针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本文只对基于Solr的HBase多条件查询方案进行测试和验证...
hbase权威指南阅读随手笔记二之过滤器
base过滤器的比较操作符:LESS <LESS_OR_EQUAL <=EQUAL =NOT_EQUAL <>GREATER_OR_EQUAL >=GREATER >NO_OP no operation比较器:BinaryComparator 按字节索引顺序比较指定字节数组,采用Bytes.compareTo(byte[])BinaryPrefixComparator 跟前面相同,只是比较...
HBase二级索引方案总结
在HBase中,表格的Rowkey按照字典排序,Region按照RowKey设置split point进行shard,通过这种方式实现的全局、分布式索引,成为了其成功的最大的砝码。图1显示了HBase表格的Rowkey切分与Region的部署关系图。图1: HBase Rowkey-Region 关系图然而,随着在HBase系统上应用的驱动,人们发现Global-Rowkey-Ind...
HBase的两种协处理器
1.起因(Why HBase Coprocessor)HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的(
理解Hbase布隆过滤器原理
1.原理? 数据块索引提供了一个有效的方法,在访问一个特定的行时用来查找应该读取的HFile的数据块。但是它的效用是有限的。HFile数据块的默认大小是64KB,这个大小不能调整太多。 如果你要查找一个短行,只在整个数据块的起始行键上建立索引无法给你细粒度的索引信息。例如,如果你的行占用100字节存储...
巅峰对决:Hypertable(C++)吞吐率测试完胜HBase(Java)
导读:众所周知,2006年Google公布了自己的BigTable论文,作为Google继GFS和MapReduce两项创新之后的又一项创新,其在设计用来针对海量数据处理情形下的管理结构型数据方面具有着巨大的技术优势。而Hypertable和HBase是最知名的两款基于BigTable为蓝本设计的数据库,他们的不同之处在于Hypertable基于C++实现,而HBase则...
Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1、搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar、hbase-0.90.4-tests.jar以及Hbase资源包中lib目录下的所有jar包 2、主要程序 ...
Hbase rowkey热点问题
当处理由连续事件得到的数据时,即时间上连续的数据。这些数据可能来自于某个传感器网络、证券交易或者一个监控系统。它们显著的特点就是rowkey中含有事件发生时间。带来的一个问题便是HBase对于row的不均衡分布,它们被存储在一个唯一的rowkey区间中,被称为region,区间的范围被称为Start Key和E...