OpenTSDB的设计之道

二月 26th, 2013 by klose | 2 Comments | Filed in 互联网应用, 海量数据存储与处理

OpenTSDB是一个架构在Hbase系统之上的实时监控信息收集和展示平台。 它在海量数据的压力下,仍然保证了存储的效率,那么它背后有什么值得借鉴的地方呢? 1)使用AsyncHbase而非HBase自带的HTable。使用线程安全、非阻塞、异步、多线程并发的HBase API,在高并发和高吞吐时,可以获得更好的效果。建议在使用AsyncHBase​时,在CPU core有保证的前提下,可以设置16或者24。 2)采用固定长度的Rowkey,让Rowkey包含尽可能多的检索信息。这一点的话,OpenTSDB存储的数据要包含大量的metrics和tag信息,这些信息的长度是变长的,因此,在实现上设置了一个表格uid-tsdb存储这些信息,作为一个全局唯一的编号,并把编号与TimeStamp合并作为Rowkey。   3)每一行要存储尽可能多的信息,这一点在OpenTSDB被发挥到了极致。例如,把某个时间段的分散采集的数据合

Tags: , ,

HBase监控之Region空洞

二月 20th, 2013 by klose | No Comments | Filed in 互联网应用, 海量数据存储与处理

Region是HBase的资源管理单位,在Region的生命周期内,一个Region迁移会发生在如下的情况下: 1)HMaster的Load Balance,造成部分Region在RS之间迁移。默认使用了 org.apache.hadoop.hbase.master.DefaultLoadBalancer,仅仅考虑RS上Region个数的分配的均衡性。 2)Region Split过程。这部分内容可以参考 http://blog.sina.com.cn/s/blog_4a1f59bf01018tu4.html 3) RS Offline过程-〉LOG Split过程-〉Region迁移。 在如上的过程中都会涉及到Region的迁移,那么Region的迁移又要经过哪些过程呢? 为了节省文章空间,我们以HMaster的Load Balancer为例来说明。 1)HMaster启动LoadBalancer线程。balancer的period由hbase.balancer.period控制,默认是300s。 f4ae2618570ec11fba237cd24148f960000 2)关闭了BalancerSwitch、有Region处于In-Transition状

Tags: , ,

2013~光明

二月 16th, 2013 by klose | 5 Comments | Filed in 成长历程

作为2012年的个人总结的文字,放到新的一年生活和工作开始的时刻,经历了春节假期的思考,特别想正式地给2012年做一下告别,非文艺,仅是个人爱好和习惯。 2012年对于我个人最大事情莫过于,终于从学校走向了社会。当“屌丝”“你幸福吗”“雾霭”“18大”成为了帝都人民津津乐道的话题时,我独自一人在繁华并不适应的CBD和第一份工作进行着演习。生活最大的乐趣,就是在不同的环境中找到自己,活得有尊严不是我们这一代人(80后)应有的态度,但是活得要有自我才是我们这一代人所最值得尊重的品格。要有选择的适应周围的环境,是保持自我、坚守信念最和谐的方式。回顾这工作的半年多的日子,我深刻体会到,要善于读懂“法海”的思维。我记得在和大家讨论什么样的工作才是一份好的工作时,我曾说过,周围的环境能够支撑你做自己喜欢的事情,并收获认同。

Tags: , ,