HBase应用与发展之HBase应用与高可用实践
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了HBase应用与发展之HBase应用与高可用实践,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2671字,纯文字阅读大概需要4分钟。
内容图文
性能和可靠性 — 性能优化
客户端优化:Scan、Get、列簇及列、禁止缓存
指标 | 说明 |
Scan | hbase.client.scanner.caching |
Get | 建议使用批量Get |
列簇及列 | 尽可能少的列簇,尽可能指定列查询 |
禁止缓存 | 加载大量数据时,建议禁止缓存防止 “挤压”热数据 |
服务端优化:Balancer、BlockCache、Compaction
1.Balancer:balance_switch|balancer,需要注意RIT问题
均衡最小值 = 总Region个数 / RegionServer个数 * 0.8
均衡最大值 = 总Region个数 / RegionServer个数 * 1.2
2.BlockCache:hbase.bucketcache.ioengine,优化GC,提高缓存命中率
hbase.bucketcache.ioengine = offheap
3.Compaction:保证本地性为1,空闲时段定时执行避免影响集群IO
hbase.regionserver.thread.compaction.large = 8
hbase.regionserver.thread.compaction.small = 5
性能和可靠性 — 可靠性保证
HBase不存在单点问题,可以做主备切换,保证集群的高可用性
数据迁移 — 跨集群迁移
这里采用distcp来进行跨集群数据迁移,具体命令如下:
hadoop?distcp?-Dmapreduce.job.queuename=queue_name?
-update?-skipcrccheck?-m?120?hdfs://ip:port/hbase_path_old/tabname?
/hbase_path_new/tabname
注意事项:
开启YARN,distcp使用MapReduce来传输数据,因此迁移之前需要确保集群资源可用
防火墙,两个HBase集群之间端口要能正常telnet,例如NN、DN的端口
使用hbase hbck修复元数据信息
案例: Caused by: java.io.IOException: Mismatch in length of source
原因:HDFS中的文件没有关闭,处于写状态,而每次distcp时会校验文件
长度,如果文件处于未关闭状态,就会出现这类异常
解决方案:
检测文件状态,执行hdfs fsck [hdfs_file_path]|[hdfs://ip:port/path]
关闭该文件,执行hdfs debug recoverLease –path [hdfs_file_path],
重新进行数据迁移,执行hadoop distcp […]
注意事项:
解决方案第2步中,关闭HDFS文件时,可能会失败,例如出现异常“Giving up on recoverLease”。
可再次执行关闭,成功后会有“recoverLease SUCCEEDED on”信息出现
数据迁移 — Hive数据迁移到HBase
案例:在集群A(不包含HBase),将集群A中的Hive数据迁移到集群B中的HBase
方案一:在集群A中生成HFile文件,然后使用distcp将HFile文件迁移到集群B,最后使用HBase的BulkLoad的方式将数据导入到HBase表,具体操作命令:
#?使用distcp命令迁移
hadoop?distcp?-Dmapreduce.job.queuename=queue_name?
-update?-skipcrccheck?-m?120?hdfs://ip:port/hfile_path?/hfile_path
#?BulkLoad加载数据
hbase?org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles
/hfile_path?htable_name
方案二:使用API接口,直接通过BulkLoad的方式进行数据迁移,以应用程序的形
式来实现数据迁移的工作
如何保证HBase集群的高效及稳定 — 特殊处理
永久RIT问题
一般情况下,RIT都是瞬时的,但是有些情况会让其进入永久RIT状态,
永久RIT状态带来的不良后果就是管理员无法干预Region均衡操作,从
而影响集群的负载均衡。
如何解决?分析实际案例
案例一:在合并Region操作时,发现RIT一直显示MERGING_NEW状态,查看HBase JIRA发现这是触发了HBASE-17682的BUG,需要打补丁进行修复。
附上HBase应用与高可用实践PPT:
备注:历届HBase Meetup会议的PPT: http://hbase.group/slides/
内容总结
以上是互联网集市为您收集整理的HBase应用与发展之HBase应用与高可用实践全部内容,希望文章能够帮你解决HBase应用与发展之HBase应用与高可用实践所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。