存档

‘hbase’ 分类的存档

HBase Log Splitting

2016年3月15日 admin 没有评论

http://dirlt.com/hbase-log-splitting.html http://blog.cloudera.com/blog/2012/07/hbase-log-splitting/ 需要log split的原因是,在一台region server上面可能serve多个region,而这些region的WAL都记录在同一个文件里面。如果一个region server挂掉的话,那么对应的region需要放在其他region server上面进行serve,而在serve之前需要做日志恢复,这个日志包括所有对于这个region的修改,所以这就牵扯到了log split。所以所谓的log split是将一个WAL文件,按照不同region拆分成为多个文件,每个文件里面只是包含一个region的内容。log split发生在启动一个region server之前。 这个过程会很长,应该想办法避免掉,影响线上服务。

分类: hbase 标签:

phoenix待解决的问题

2016年1月6日 admin 没有评论

在HBase Phoenix上建立的表,突然发现数据插入和查出来的条数不一致,变量就是“snappy”,需要看下Phoenix的源代码了。 土豆实时数据: create table if not exists TD.VVCOUNT_VIDEO_MINUTE ( MINUTE BIGINT not null, VID INTEGER not null, PW BIGINT, MA BIGINT, PI BIGINT constraint pk primary key (MINUTE,VID) )salt_buckets = 30,versions=1,compression='snappy'; 测试库,没加snappy create table if not exists TD.VVCOUNT_VIDEO_MINUTE_TEST ( MINUTE BIGINT not null, VID INTEGER not null, PW BIGINT, MA BIGINT, PI BIGINT constraint pk primary key (MINUTE,VID) )salt_buckets = 30,versions=1;

分类: hbase 标签: ,

为什么“hbase.zookeeper.quorum”必须配奇数个

2015年10月29日 admin 没有评论

zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1;同理你多列举几个:2->0;3->1;4->1;5->2;6->2会发现一个规律,2n和2n-1的容忍度是一样的,都是n-1,所以为了更加高效,何必增加那一个不必要的zookeeper呢。

分类: hbase 标签: ,

HBase Phoenix UDFs的实现

2015年6月30日 admin 没有评论

HBase里的Phoenix的UDFs的实现,HBase的版本是0.98,Phoenix的也需要选择对应的版本。 参考文章: http://phoenix.apache.org/udf.html http://phoenix-hbase.blogspot.com/2013/04/how-to-add-your-own-built-in-function.html(翻墙才能打开,而且这篇文章很旧,2013年的) 官网说Phoenix 4.4.0版本才实现了让用户拥有使用自定义函数的功能。话说以前的3.0版本我们都是把自定义函数写到系统函数里的,这个需要编译Phoenix的源码,对后期版本的升级很不友好。因此4.4.0版本可以说有他的积极意义的O(∩_∩)O哈哈~ 直接上代码吧,UrlParseFunction.java类 package phoenix.function; import java.sql.SQLException; import java.util.List;

分类: hbase 标签: , ,

HBase读写流程

2015年6月4日 admin 没有评论

client写入=》存入MemStore,一直到MemStore存满=》Flush成一个StoreFile,直到增长到一定的阈值=>触发Compact合并操作=》多个StroeFile合并成一个StoreFile,同时进行版本合并和数据删除=》当StoreFile Compact后,逐步形成越来越大的StoreFile=》单个StoreFile大小超过一定阈值后,触发Split操作,把当前的Region Split成2个Region,父亲Region会下线,新Split出的2个孩子Region会被Master分配到相应的HRegionServer上,使得原先1个Region的压力得以分流到两个Region上。由此过程可知,HBase只是增加数据,所有的更新和删除操作,都是在Compact阶段做的,所以,用户写操作只需要进入到内存即可立即返回,从而保证I/O高性能。 HSore:是hb

分类: hbase 标签:

HBase Shell无法删除

2015年5月19日 admin 没有评论

在secureCRT中,点击【选项】【回话选项】【终端】【仿真】,右边的终端选择linux,在hbase shell中如输入出错,按住Ctrl+删除键 即可删除!

分类: hbase 标签: