随笔分类 -  数据库HBase

摘要:一.Hive应用场景本文主要讲述使用 Hive 的实践,业务不是关键,简要介绍业务场景,本次的任务是对搜索日志数据进行统计分析。集团搜索刚上线不久,日志量并不大 。这些日志分布在 5 台前端机,按小时保存,并以小时为周期定时将上一小时产生的数据同步到日志分析机,统计数据要求按小时更新。这些统计项,包括关键词搜索量 pv ,类别访问量,每秒访问量 tps 等等。基于 Hive ,我们将这些数据按天为单位建表,每天一个表,后台脚本根据时间戳将每小时同步过来的 5 台前端机的日志数据合并成一个日志文件,导入 Hive 系统,每小时同步的日志数据被追加到当天数据表中,导入完成后,当天各项统计项将被重新 阅读全文
posted @ 2014-04-09 15:42 郑文亮 阅读(6623) 评论(0) 推荐(0) 编辑
摘要:有时候了解软件产品的最好方法是看看它是怎么用的。它可以解决什么问题和这些解决方案如何适用于大型应用架构,能够告诉你很多。因为HBase有许多公开的产品部署,我们正好可以这么做。本章节将详细介绍一些人们成功使用HBase的使用场景。注意:不要自我限制,认为HBase只能解决这些使用场景。它是一个初生的技术,根据使用场景进行创新正驱动着系统的发展。如果你有新想法,认为可以受益于HBase提供的功能,试试吧。社区很乐于帮助你,也会从你的经验中学习。这正是开源软件精神。HBase仿效了Google的BigTable,让我们开始探索典型的BigTable问题:存储互联网。典型互联网搜索问题:BigTab 阅读全文
posted @ 2014-04-09 11:34 郑文亮 阅读(1022) 评论(0) 推荐(0) 编辑
摘要:关系数据库模型已经流行了几十年了,但是一种新类型的数据库——被称为NoSQL,正在引起企业的注意。下面是关于它的优势和劣势的一个概述。二十多年以来,对数据库管理来说,关系数据库(RDBMS)模型一直是一个占统治地位的数据库模型。AD:51CTO学院:IT精品课程在线看!关系数据库模型已经流行了几十年了,但是一种新类型的数据库——被称为NoSQL,正在引起企业的注意。下面是关于它的优势和劣势的一个概述。二十多年以来,对数据库管理来说,关系数据库(RDBMS)模型一直是一个占统治地位的数据库模型。但是,今天,非关系数据库,“云”数据库,或“NoSQL”数据库作为关系数据库以外的一些选择,正在引起大 阅读全文
posted @ 2014-04-08 14:50 郑文亮 阅读(936) 评论(0) 推荐(0) 编辑
摘要:原始网址:http://hi.baidu.com/i1see1you/item/783a701f39a87549e75e06ea1.Mongodb bson文档型数据库,整个数据都存在磁盘中,hbase是列式数据库,集群部署时每个familycolumn保存在单独的hdfs文件中。2.Mongodb 主键是“_id”,主键上面可以不建索引,记录插入的顺序和存放的顺序一样,hbase的主键就是row key,可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在hbase内部,row key保存为字节数组。存储时,数据按照Row key的字典序(byte or 阅读全文
posted @ 2014-04-08 14:48 郑文亮 阅读(12583) 评论(0) 推荐(2) 编辑
摘要:转载:http://leongfans.iteye.com/blog/1019383昨天搜一下mongodb的资料,介绍应用的比较多,原理介绍的不多。粗略得看了一下,总体来说两者的设计思路差不多,主要就是通过划区间去分布数据,后台进程进行数据分裂两者的区别主要在于:1、HBase依赖于HDFS;MongoDB直接存储在本地磁盘中2、HBase按照列族将数据存储在不同的文件中;MongoDB不分列,整个文档都存储在一个(或者说一组)文件中,通过一个有一个通用的.ns文件保存名称空间(Column-based和Document-Based之间的区别应该是指这个地方吧)3、HBase一个region 阅读全文
posted @ 2014-04-08 14:42 郑文亮 阅读(1080) 评论(0) 推荐(0) 编辑
摘要:NoSQL现在风生水起,hbase的使用也越来越广,但目前几乎所有的NoSQL产品在运维上都没法和DB相提并论,在这篇blog中来总结下我们在运维hbase时的一些问题以及解决的方法,也希望得到更多hbase同行们的建议,:)在运维hbase时,目前我们最为关注的主要是三大方面的状况: 1. Cluster load; 2. 读写; 3. 磁盘空间。1. Cluster load 集群的load状况直接反映了集群的健康程度,load状况的获取非常容易,直接部署ganglia即可得到,由于hbase以优秀的可伸缩性著称,因此 多数情况下load超出接受范围时加机器是一个不错的解决方法,当然,这还 阅读全文
posted @ 2014-04-08 14:24 郑文亮 阅读(712) 评论(0) 推荐(0) 编辑
摘要:2013年马上就要过去了,总结下这一年HBase在这么一年中发生的主要变化。影响最大的事件就是HBase 0.96的发布,代码结构已经按照模块化release了,而且提供了许多大家迫切需求的特点。这些特点大多在Yahoo/Facebook/淘宝/小米 等公司内部的集群中跑了挺长时间了,可以算是比较稳定可用了。1,Compaction优化HBase的Compaction是长期以来广受诟病的一个feature,很多人吐槽 HBase也是因为这个特征。不过我们不能因为HBase有这样一个缺点就把它一棒子打死,更多的还是希望能够驯服它,能够使得它适应自己的应用场景。根 据业务负载类型调整compact 阅读全文
posted @ 2014-04-08 14:23 郑文亮 阅读(314) 评论(0) 推荐(0) 编辑
摘要:随着大数据处理时代的到来,NoSQL风生水起。京东作为国内最大的综合网络零售商,随着业务数据量爆发式增长,传统的关系数据库在海量数据面前开始显得捉襟见肘,于是京东云平台在Hadoop生态集群经验积累的基础上,引入了HBase作为海量数据存储的基础设施。虽然引入时间不长,但京东数十个业务系统已经使用了HBase,包括实时在线业务、离线批量计算业务、批量导入兼在线访问等业务类型。为了提高资源利用率,多个业务系统可能复用一个HBase集群。而开源的HBase处于发展期,业务之间的存储和访问产生了一些干扰和冲突。于是,为了应用到生产环境尤其是在线业务系统中,京东第一阶段对HBase进行了完善,并根据京 阅读全文
posted @ 2014-04-08 14:21 郑文亮 阅读(438) 评论(0) 推荐(0) 编辑
摘要:为什么regionserver 和Zookeeper的session expired? 可能的原因有1. 网络不好。2. Java full GC, 这会block所有的线程。如果时间比较长,也会导致session expired.怎么办?1. 将Zookeeper的timeout时间加长。2. 配置“hbase.regionserver.restart.on.zk.expire” 为true。 这样子,遇到ZooKeeper session expired , regionserver将选择 restart 而不是 abort具体的配置是,在hbase-site.xml中加入zookeepe 阅读全文
posted @ 2014-04-08 14:04 郑文亮 阅读(2539) 评论(0) 推荐(0) 编辑
摘要:近期对hbase多用户插入数据时,regionserver会莫名奇妙的关闭,regionserver的日志有很多异常:如下:org.apache.hadoop.hbase.DroppedSnapshotException: region: t,12130111020202,1369296305769.f14b9a1d05ae485981f6a8579f1324fb. at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:1000) at org.apache.hadoop.hb... 阅读全文
posted @ 2014-04-08 14:01 郑文亮 阅读(2806) 评论(0) 推荐(0) 编辑