HBase权威指南(中文版)(2).docx

上传人:lao****ou 文档编号:1052173 上传时间:2024-09-25 格式:DOCX 页数:6 大小:28.23KB
下载 相关 举报
HBase权威指南(中文版)(2).docx_第1页
第1页 / 共6页
HBase权威指南(中文版)(2).docx_第2页
第2页 / 共6页
HBase权威指南(中文版)(2).docx_第3页
第3页 / 共6页
HBase权威指南(中文版)(2).docx_第4页
第4页 / 共6页
HBase权威指南(中文版)(2).docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《HBase权威指南(中文版)(2).docx》由会员分享,可在线阅读,更多相关《HBase权威指南(中文版)(2).docx(6页珍藏版)》请在第一文库网上搜索。

1、性能提升性能提升涉及多种改进,由量变引起质变,有超过260个优化问题解决方案被打包到0.92.0版本中(完整清单参见issues,apache.org/Jira/browseHBASEfixforversion/12314223)o在本书出版的过程中,0.92.0版本仍旧在发展。有关最新的动向用户可以到官方网址查看其特性列表。HBase0.94.0HBaSe下一个版本的计划是安全特性,这一特性会在0.94版本中体现出来。除此之外,还有其他一些重量级功能特性仍处于研发状态,详情可见issues,apache.orgjirabrowseHBASEfixforversion12316419o安全(S

2、ecurity)在HBase中增加Kerberos验证。辅助索引(SeCOndaryIndexes)通过协处理器增加辅助索引,允许用户创建和管理表上基于列的索引。搜索集成(SearChIntegration)本特性使用户可以创建和管理搜索索引,例如,按region的基于APaChe1UCene索引,这样用户可以在行或列中搜索数据。HFi1e格式第二版(HFi1ev2)新的存储格式,克服了现有存储格式的缺点。这个版本还有一些很有趣的功能特性,例如,插件式块缓存特性,该特性使用户可以在JRE堆内存之外管理一块内存,有利于减少内存垃圾一一这一点恰好是HBase集群在读写压力比较大的情况下最值得关注的

3、问题。更多的相关内容可以到JIRA平台中查看。附录C版本升级升级HBaSe需要制定非常谨慎详细的计划,尤其是生产集群。滚动重启可以帮助用户不停机升级,详情见12.1.2节。依据用户将要使用的Hbase版本,用户需要先升级底层Hadoop版本并使Hadoop版本与HBase依赖的版本进行匹配,有关Hadoop的升级指南可在Hadoop官方网站查阅。升级到HBase0.90.X由于用户使用的HBaSe版本可能不同,集群中从旧版本升级到新版本需要不同的步骤。下面列出了常规的升级方案。原始版本0.20.X或0.89.X0.90.X系列向下兼容,可以直接读取0.20.X版本产生的数据。0.90.X与0.

4、89.X会通过MD5散列算法(而非JenkinS散列)计算出region名,并写入指定目录这意味着,一旦0.20.X向上升级,就无法再回退到0.20.X系列了。升级时一定要先从Ca目录中移除hbase-defau1t.xm1这个文件,与0.20.X不同的是,0.90.X将这个文件默认打包到了JAR中,读者可以到SrC目录中进行查找,见$HBASE_HOME/src/main/resourceshbase-defau1t.xm1或者见附录AO升级后,用户需要通过终端检查.META.的结构。以前有人建议以16KB的MEMSTORE_F1USHSIZE运行。在SheI1中执行以下命令:hbase(m

5、ain):001:0scan,-ROOT-*以上命令可以输出当前的.META.结构。检查MEMSTORE_F1USHSIZE是否被设置为了16KB(16384)0如果是,需要改变这种情况,默认的新值是64MB(67108864).运行$HBASE_HOME/bin/set_meta_momstore_size,rb脚本,这会对.META.结构进行必要的修改,如果不为变上述参数加值,集群运行会变慢。0.90.X之间升级这种情况比较简单,用户只需要简单地安装新版本,然后使用12.12节介绍的过程重启region服务器即可。升级到HBase0.92.0滚动重启是不可能的,两个版本之间的引导协议已经发

6、生了变化。用户需要提前同步准备安装,然后关闭集群,并重新以新版本启动集群,此时不需要迁移数据。更多细节请查看“HBASE-3499Usersupgradingto0.90.0needtohavetheir.META,tab1eupdatedwiththerightMEMSTORE_SIZE”http:/issues.apache.Org/jirabrowseHBASE-3499)o附录D分支除了APaChe提供的版本,用户还可以有其他的选择,下面我们就罗列一下可用的安装版本。C1oudera的Hadoop分支CIOUdera的版本(简称CDH)基于APaCheHadoOP最新的稳定版,并打入了

7、很多的补丁,做了较多的移植和更新。C1oudera提供了非常多的部署程序:源代码、二进制tar文件、RPNkDebian软件包、VMWare镜像和在云中运行CDH的脚本。CDH开源,发行版基于Apache2.0的许可序列号,详情见http:/mr.cI为了部署方便,CIoUdera提供了yu和即方库。CDH可以做到一行命令就在每台机器上安装和配置Hadoop和HBase,需要快速启动的用户可以自动使用整个集群而无需人工干涉。CDH管理跨组件的版本,并提供了一个稳定的包含兼容的一组软件包的平台。CDH3包含以下软件包(其中很多软件包在本书中都介绍过): HDFS分布式文件系统 MapReduce

8、强大的并行数据处理框架 HadoopCommon支持Hadoop子项目的实用工具集 HBase一一用于随机读写的Hadoop数据库 Hive大数据集的类SQ1查询和表 Pig数据流语言和编译器 Oozie相互独立的Hadoop作业工作流程 Sqoop将数据库数据仓库与Hadoop集成 F1Ume高可靠、可配置的流式数据收集框架 ZooKeeper分布式应用系统的协同服务 Hue访问Hadoop的桌面程序 Whirr一套在云上运行Hadoop和HBase的库对于HBaSeCDH解决了集群安装的可靠性问题,且拥有HFDS的所有补丁来保证持久性。而HadooP项目本身并没有在0.20.X系列中为一台

9、服务器崩溃而不丢数据的情况提供支持。要下载CDH,请访问力tp:/mr.c1oudera,comdown1oads附录EHushSQ1SchemaHBaseUR1短地址(即HUSh)结构可以用SQ1来表示:CREATETAB1Euser(idINTEGERUNSIGNEDNOTNU11AUTOINCREMENT,usernameCHAR(20)NOTNU11,credentia1sCHAR(12)NOTNU11,ro1esCHR(10)NOTNU11,/cou1dbeaseparatetab1e*userro1es*,butforthesakeofbrevityitisfo1dedinhere

10、,eg.AU=*dmin,User*firstnameCHAR(20),1astnameCHR(30),emai1VARCHAR(60),CONSTRAINTpk,userPRIMARYKEY(id),CONSTRAINTidx_user_usernameUNIQUEINDEX(username);CREATETAB1Eur1(idINTEGERUNSIGNEDNOTNU11AUTO_INCREMENT,ur1VARCHAR(4096)NOTNU11,refShort1dCHAR(8),tit1eVRCHR(200),descriptionVRCR(400),contentTEXT,CONST

11、RAINTpk_ur1(id),CREATETAB1Eshortur1(idINTEGERUNSIGNEDNOTNU11AUT0YCREMENT,useridINTEGER,ur11dINTEGER,ShortIdCHAR(8)NOTNU11,refShort1dCHAR(8),descriptionVARCHAR(400),CONSTRAINTpk_shortur1(id),CONSTRAINTidx_shortur1_shortidUNIQUEINDEX(shortId),FOREIGNKEYfk_user(userid)REFERENCESuser(id),FOREIGNKEYfk_ur

12、1(ur11d)REFERENCESur1(id)CREATETAB1Ec1ick(idINTEGERUNSIGNEDNOTNU11AUTO_INCREMENT,datestampDATETIME,short1dCHAR(8)NOTNU11,categoryCHAR(2),dimensionCHAR(4),counterINTEGERUNSIGNED,CONSTRAINTpk_c1icks(id),FOREIGNKEYfkshortid(short1d)REFERENCESshortid(id):附录F对比HBase和BigTab1eHBase整体上实现了第1章中描述的所有的BigTab1e特

13、性。不同的是,因为BigTab1e论文本身的描述不是非常详细,而且依赖于其他的开源项目,因此两者的工作机制略有不同。HBaSe使用的时间戳单位是毫秒一一BigTab1e使用的单位是微妙。这并不是大问题,原因与Java和C语言的特性有关,这两种语言最优的计时器精度不同。需要指出的是,两者使用了不同的压缩算法。HBaSe使用的是JaVa提供的压缩算法,也可以使用1ZO。BigTab1e有一种两阶段的压缩算法,分别使用BMDiff和Zippy。HBaSe中有协处理器,这不同于BigTab1e中提供的SaWZaII(类似于协处理器的框架)。XGOOg1e的协处理器实现的细节并不详细,因此有更多未知的差

14、异。另一方面,HBaSe支持服务器端的过滤器,可以帮助减少从服务器端返回到客户端的数据量。HBaSe主要工作在HadOOP分布式文件系统(HDFS)上,而BigTabIe使用GFS。但是,HBase也可以工作在其他文件系统上,还要感谢Hadoop提供了Fi1eSystem插件,例如,AmazonS3(类似于HDFS)和EBS。HBaSe不能映射存储文件到内存中,BigTab1e则可以。目前有正在进行中的工作来优化HBaSe的I/O性能并广泛使用的JaVa的NeWI/0(NIO),这些将会使HBaSe性能得到提升。BigTab1e还有一个特性叫做1oca1itygroups,该特性可以使客户端可

15、以将特定的列族组合,并使它们分享属性,如压缩,这在多个组合列经常同时被访问时非常有好处,因为它们的数据会被放到相同的存储文件中。在BigTab1e中,列族被用于统计和访问控制,而在HBaSe中,则是截然不同的概念跟用法。两个系统中都有块缓存,BigTab1e还实现了键/值缓存(key/va1uecache),用于被经常访问的热点单元格。两个系统对提交日志的处理和实现也略有不同,BigTab1e有两种处理慢写的提交口志,并且可以自动切换两种模式。这个特性也可以在HbaSe中实现,但目前还没有一个相应的议题被讨论过,所以也一直被大家忽视了。相比而言,HBase提供了跳过写提交日志的方式,这种模式会带来性能上的提升,但前提是要保证可以接受服务器崩溃后数据丢失的情况。METADATA表在BigTab1e中可以用来存储二级信息,例如,与每个表段(tab1e1)相关的事件信息。这些信息可以用来分析表段的转换、拆分和合并等。HBaSe早就实现了类似的功能,但是因为性能不佳而去掉了。region拆分是相似的,但是合并有所不同。HBaSe提供了一个工具来手动合并region,而BigTab1e中提供了自动合并reg

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服