大数据时代必修技能 阿里HBase又放出了哪些大招?-阿里云开发者社区

开发者社区> 技术小能手> 正文

大数据时代必修技能 阿里HBase又放出了哪些大招?

简介: HBaseCon是Apache HBase官方举办的技术会议,主要目的是分享,交流HBase这个开源分布式大数据存储的使用和开发以及发展。HBaseCon发起于2012年。通常HBaseCon的举办地是在美国,这是HBaseCon第一次在亚洲举行,命名为Apache HBaseCon 2017Asia。
+关注继续查看

HBaseCon是Apache HBase官方举办的技术会议,主要目的是分享,交流HBase这个开源分布式大数据存储的使用和开发以及发展。HBaseCon发起于2012年。通常HBaseCon的举办地是在美国,这是HBaseCon第一次在亚洲举行,命名为Apache HBaseCon 2017Asia。而且这次会议举办地选择在中国深圳,也足以见得HBase在中国的火爆程度和中国开发者们对HBase社区所做的卓越贡献。


image


Apache HBase是基于Apache Hadoop构建的一个分布式、可伸缩的Key-Value数据库,它提供了大数据背景下的高性能的随机读写能力。做为最早研究、使用和二次开发HBase技术的中国公司,阿里巴巴从2010年就开始使用HBase,经过近7年的发展,现在采用HBase存储的业务已经超过1000+,拥有了上万台的HBase集群规模,在HBase上存储的数据已达PB级。

秉承开源和分享的精神,阿里把HBase的实践经验和改进不断回馈HBase社区,比如说Bucket Cache和Reverse Scan等功能,给HBase技术发展带来了非常深远的影响。同时,也给HBase社区培养了2名PMC和2名Committer,阿里在HBase社区的影响力可见一斑。那么这次HBaseCon 2017 Asia。阿里派出了一位HBase PMC和2位Committer,还有两位资深的HBase开发,给大家带来了十足的干货。

阿里干货系列

一、强同步复制

传统的HBase主备集群同步使用的方案是异步复制,这使得主备集群数据之间会有短暂的数据不同步现象。用户为了灾备,不得不放弃强一致模型。没法放弃强一致语义的用户,必须自己写一套复杂的逻辑来保证主备集群之间数据的读写一致性。阿里的HBase技术专家天引,在此次的HBaseCon Asia上给大家带来了强同步复制方案。


image

据天引介绍,强同步复制方案采用了主备并发写和RemoteLog技术,使得在同城网络条件下同步复制相对于异步复制仅有2%的吞吐量下降。当一个请求到达主库后,并发写本地和备库,到达备库的同步写不需要走完整的写入路径,而是直接写入RemoteLog,降低同步写开销与延时。除了同步链路外,还有一套异步链路将数据从主库复制到备库,因此正常情况下不需要回放RemoteLog的数据到备库,在主库不可服务的情况下,只需要回放RemoteLog中那些还没有被异步复制链路同步到备库的数据,异步复制只有几秒钟的数据延迟,这保证了可以在很短的时间内完成从主库到备库的切换。

image


此方案在大会现场引起了强烈反响,很多HBase用户表示这是他们期待已久的功能,希望能尽快使用上。天引表示此功能目前基于阿里内部分支实现、运行及完善,未来将会回馈给社区。

二、SQL on HBase

阿里HBase服务了大量的内部用户,并持续有新用户接入。但是使用HBase的用户有很大一部分是从传统的SQL数据库转过来的,HBase的rowkey设计和API的使用习惯对于他们来说并不友好。为了降低这些转型用户的使用门槛,阿里在HBase上引入了SQL层。来自阿里的资深HBase开发工程师天穆,给大家详细讲解了如何玩转SQL on HBase。


image


通过优化,现在在阿里使用SQL访问HBase和原生API的速度已经相差无几,而且在SQL语法上,创造性地支持HBase多版本和时间戳等NoSQL才具有的功能。


image

另外,在HBase上同时支持了全局二级索引和本地二级索引。使用户可以在多列上建立索引,简化了业务的设计,提升了请求效率,降低了使用成本。

image

三、跨集群分区拷贝

HBase上通常承载着海量的数据,而在日常生产过程中,随着业务的发展和公司数据中心的规划等原因,这些海量数据需要经常搬迁,这通常对于运维来说是一个非常头疼的问题。来自阿里的HBase社区Committer正研,分享了阿里跨集群分区拷贝的场景和成熟解决方案。

image


正研首先介绍了在阿里内部常见的需要数据拷贝的场景,比如说新建数据中心,HBase集群需要整体搬迁到新的机房;又比如说不同机房内的HBase集群的增量数据同步,可以用replication来解决,但是对于存量数据,目前还没有比较高效的方案;另外还一个常见场景就是数据恢复,而传统的HBase备份还原工具都没法控制数据恢复的范围。


image

因此,阿里研发了Range Data Copy功能内置在HBase中,提供了一个简单高效,而且能够自动处理各种错误情况和灾难恢复的数据拷贝功能,使用这个功能拷贝一张200TB的表到另外一个集群,所需时间不到5小时。

image


四、读写链路优化

在阿里使用HBase的过程中,对HBase本身做了非常多的读写性能优化。来自阿里的HBase社区PMC绝顶和Committer天照,一起给大家分享了阿里在这方面所取得的一些成果。


image


1、使用Netty替代HBase原生的RPC server,大大提升了HBaseRPC的吞吐能力,降低了延迟 ;


image

2、 引入新的HFileBlock编码格式,把顺序搜索变成了二分查找,提高了HBase随机读的能力

image


3、拆分写链路,释放阻塞的handler资源,提高了HBase写的吞吐能力 ;


image


来自阿里的这些优化黑科技,使HBase的能力又更上一个新台阶。并且这些优化和功能目前已经回馈给了社区,所有的HBase用户都能在新版本的使用获得这些技术红利。

总结

除了阿里带来的技术分享,现场许多其他公司也都带来了他们对HBase做出的改进和使用经验。比如说小米实现了AsyncClient,填补了HBase没有原生异步API的缺口;知乎使用kubernetes自动扩容缩容HBase集群,灵活地适应业务高速发展和瞬息万变;烽火网络隔离读写资源使近线查询更加稳定等等。
除了上述提到的这几个亮点技术分享,此次HBaseCon大会的每一个session都非常精彩,给大家带来了一场又一场思维碰撞的盛宴。Apache HBase“掌门人”Michael Stack也参加了此次会议,并与HBase开发者们举行了一次圆桌会议,共同探讨HBase的现状和未来。


image


这次HBaseCon的火爆程度,直接展示了国内企业和开发者们对HBase热情和期望。HBaseCon大会不仅给HBase的使用者们带来了最新鲜的技术进展,互通有无,吸收其他公司的先进经验;也成为HBase使用者和开发者之间沟通的桥梁,能让开发者们看到业界动态,用户的需求,共同把HBase打造成一个更加易用,更高性能,更稳定的大数据存储。这次HBaseCon大会是一个很好的开端,期望HBaseCon Asia越办越好,给大家带来更多的干货!


image

云端使用

阿里HBase目前已经在阿里云提供商业化服务,任何有需求的用户都可以在阿里云端使用深入改进的、一站式的HBase服务。云HBase版本与自建HBase相比在运维、可靠性、性能、稳定性、安全、成本等方面有较多的改进。具体表现为,在运维方面:15分内完成部署,全指标监控预警,在线扩容节点、磁盘及修改配置,集群自动更新升级,专家在线坐诊;性能方面:性能提升30%以上,个别scan等性能提升100%+;可靠性方面:多副本机制,副本丢失及时感知检测恢复,提供9个9个数据可靠性;稳定性方面:进程自动守护,单节点秒级别检测并自动故障迁移,提供99.95%集群可用性;成本方面:后续支持共享存储,存储成本下降一倍以上;安全方面:提供白名单隔离,支持VPC,后续支持阿里云ak,更多内容欢迎大家关注https://www.aliyun.com/product/hbase

作者简介

杨文龙,花名正研,阿里巴巴存储技术事业部资深研发,HBase开源社区Committer。开源技术爱好者,对分布式存储系统的设计、实践具备丰富的大规模生产的经验。

来源:阿里技术
原文链接

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6676 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4244 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7690 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9379 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
5253 0
阿里云服务器远程登录用户名和密码的查询方法
阿里云服务器远程连接登录用户名和密码在哪查看?阿里云服务器默认密码是什么?云服务器系统不同默认用户名不同
290 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
2087 0
+关注
技术小能手
云栖运营小编~
5951
文章
9
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载