服务器 频道

小米谢良:谈小米hadoop/hbase微实践

  【IT168 现场报道】2013年4月18-20日,第四届中国数据库技术大会(DTCC 2013)在北京福朋喜来登酒店拉开序幕。在为期三天的会议中,大会将围绕大数据应用、数据架构、数据管理(数据治理)、传统数据库软件等技术领域展开深入探讨,并将邀请一批国内顶尖的技术专家来进行分享。本届大会将在保留数据库软件应用实践这一传统主题的基础上,向大数据、数据结构、数据治理与分析、商业智能等领域进行拓展,以满足于广大从业人士和行业用户的迫切需要。

小米谢良:谈小米hadoop/hbase微实践
第四届中国数据库技术大会(DTCC 2013)

  自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB、ChinaUnix技术社区已经连续举办了三届数据库技术大会,每届大会超过千人规模,云集了国内技术水平最高的数据架构师、DBA、数据库开发工程师、研发总监、IT经理等,是目前国内最受欢迎的数据库技术盛会。在下午进行的专场1中,主要的课程就是Hadoop的应用实践,下面就由小米科技存储开发工程师谢良先生进行主题演讲,他演讲的主题是《小米hadoop&hbase微实践》。

小米谢良:谈小米hadoop/hbase微实践
▲小米科技存储开发工程师谢良先生

  Hadoop与HBase的定义

  一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

  HBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”.就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

  小米hadoop+hbase

  谢良表示,hadoop与hbase是我们用了半年的时间开发的,hadoop是分布式平台,就把计算和存储都由hadoop自动调节分布到接入的计算机单元中;hbase是hadoop上实现的kv数据库;hbase+hadoop无需再与mysql搭配了, 而且kv数据库与传统关系数据库区别很大;hadoop+hbase是分布式计算与分布式数据库存储的组合;增删查改都是真的hbase的。

小米谢良:谈小米hadoop/hbase微实践

  谢良还介绍说,小米的选型依据是类似业务场景下Facebook在前面趟雷成功和国内阿里等的实践也增强了我们的信心。upstream重要issue在HDFS层面,Support hsync    HDFS-744(2.0.2-alpha),类fsync语义,关系数据安全性。集群check list,硬件主要关注磁盘和网卡、控制节点的RAID

小米谢良:谈小米hadoop/hbase微实践

  OS:2.6.32 ulimit ext4 微调mount参数,noatime, tune2fs -m 1ntp服务THP

  JVM:使用较新的版本  1.6.0_37调整VM选项参数

  zookeeper:3.4.4+的版本,注意事务日志落地盘autopurge.snapRetainCount autopurge.purgeInterval

  若干案例解析:

  一,现象:测试集群节点随机OOM

  日志:OutOfMemoryError: unable to create new native thread

  取thread dump

  Centos6上ulimit设置和5不一样,常见坑!

  心得:基础软件checklist要做完善!

小米谢良:谈小米hadoop/hbase微实践

  二,现象:测试集群Region Server偶发挂掉

  日志显示有30多秒的长暂停,大于集群配置的zk检测超时30s;通过GC日志显示app确实被stop了30多秒,但之前木有打印堆相关信息(我们配置了参数会打印),结合PrintSafepointStatistics的输出,定位可能与VM偏特锁相关,尝试禁掉,再未发生

  心得:对VM要有敬畏之心

小米谢良:谈小米hadoop/hbase微实践

  针对微改进点与社区回馈

  谢良表示,未来小米hadoop+hbase将结合metric机制,开发自己的监控、报警和dashboard系统:汇聚、突出重点,在线上enable Kerberos认证,为此hack了zk/hadoop/hbase若干代码,接入业务时,也将修改scribe来满足需求。

  最后,谢良谦虚的表示,小米在Hadoop/HBase领域是新人,成立相关专职研发团队才近半年,希望以后在开源社区会有更多更重要的贡献,更希望社区生态圈会越来越好,并欢迎各位来小米做技术交流和指导工作!

0
相关文章