hbasefly.com
HBase最佳实践-CMS GC调优 – 有态度的HBase/Spark/BigData
http://hbasefly.com/2016/08/09/hbase-cms-gc
Skip to main content. MemStoreLAB策略、Memstore Chuck Pool策略对写缓存Memstore进行优化开始,到0.96版本提出BucketCache以及堆外内存方案对读缓存BlockCache进行优化,再到后续2.0版本宣称会引入更多堆外内存,可见HBase会将堆外内存的使用作为优化GC的一个战略方向。 如果看官还对CMS GC不是很了解,可以参考笔者之前的另一篇文章 HBase GC的前生今生-身世篇 ,文中对JVM的内存结构以及CMS GC进行了相当详细的介绍。 1 Young区 一个对象初始化之后,首先会进入Eden区,当Eden区满之后会触发一次Minor GC,Minor GC会检查Eden区所有对象是否依旧存活 是否有其他对象引用 ,如果存活,会将其从Eden区拷贝到Survivor区,并将这些存活对象的age加一,而死亡的对象会被作为垃圾回收。 很显然,随着时间流逝,Tenured区也会被填充满,此时就会触发CMS GC old gc ,这种GC相对比较复杂,由5个步骤组成,详见参考文章。 第二部分 不同age对象分布区,第一列表示该Young区...
hbasefly.com
2016年8月 – 有态度的HBase/Spark/BigData
http://hbasefly.com/2016/08
Skip to main content. 那问题来了,一个集群上面到底应该运行哪些业务可以最大程度上利用系统的软硬件资源 另外,对于一个给定业务来说,应该如何规划集群的硬件容量才能使得资源不浪费 最后,一个给定的RegionServer上到底部署多少Region比较合适 想必这些问题都曾经困惑过很多HBaser,那本文将结合前人的分享以及笔者的经验简单的对这三个问题分别进行解析,抛砖引玉,希望大家能够针对这几个话题进行深入的交流. MemStoreLAB策略、Memstore Chuck Pool策略对写缓存Memstore进行优化开始,到0.96版本提出BucketCache以及堆外内存方案对读缓存BlockCache进行优化,再到后续2.0版本宣称会引入更多堆外内存,可见HBase会将堆外内存的使用作为优化GC的一个战略方向。 联系方式 libisthanks@gmail.com 微信 libisthanks 申请好友请注明城市-公司-姓名. Sparkling Theme by Colorlib.
hbasefly.com
HBase最佳实践-多租户机制简析 – 有态度的HBase/Spark/BigData
http://hbasefly.com/2016/09/26/hbase-mutiltenant-1
Skip to main content. 2 资源调度,主要针对任务进行优先级调度,通常会优先调度实时交互而且小的任务,而批量操作任务或者长时间操作任务 大scan 优先级相对较低,详见HBase-10993. 本文将会重点介绍HBase中的资源限制方案 – Quotas,主要对其使用方式、实现原理进行介绍,并对其实际效果通过实践进行验证。 1 HBase版本在1.1.0以上,或者低版本HBase应用了对应的Patch HBase-11598. 2 Quotas功能默认是关闭的,需要在配置文件hbase-site.xml中通过设置hbase.quota.enabled为true打开。 Hbase set quota TYPE = THROTTLE, THROTTLE TYPE = READ, USER = 'u1', TABLE = 't2', LIMIT = '10req/sec'. 2 THROTTLE TYPE可以取值READ / WRITE,分别对随机读和随机写进行限制. 可以通过参数 hbase.quota.refresh.period 进行设置,比如可以通过设置. 12 * 3.6T.
hbasefly.com
2016年9月 – 有态度的HBase/Spark/BigData
http://hbasefly.com/2016/09
Skip to main content. 2 资源调度,主要针对任务进行优先级调度,通常会优先调度实时交互而且小的任务,而批量操作任务或者长时间操作任务 大scan 优先级相对较低,详见HBase-1099. 正所谓 恐惧来源于未知 ,不知所措意味着我们对RIT知之甚少,然而 凡事都有因果,万事皆有源头 ,处于RIT状态的Region只是肉眼看到的一个结果,为什么会处于RIT状态才是问题探索的根本,也是解决问题的关键。 本文就基于hbase 0.98.9版本对RIT的工作机制以及实现原理进行普及性的介绍,同时在此基础上通过真实案例讲解如何正确合理地处理处于RIT状态的Region。 联系方式 libisthanks@gmail.com 微信 libisthanks 申请好友请注明城市-公司-姓名. Sparkling Theme by Colorlib.
hbasefly.com
学习从来不是一件简单地事情,然 – 有态度的HBase/Spark/BigData
http://hbasefly.com/2017/01/02/how-to-study
Skip to main content. 官方文档 http:/ spark.apache.org/docs/latest/index.html. 官方博客 https:/ databricks.com/blog. Youtube视频 比较多 https:/ www.youtube.com/watch? 国内大神 https:/ github.com/JerryLead/SparkInternals/tree/master/markdown. 4 实践探索 30% 第三步完成之后,相信你已经可以就这项技能和别人谈笑风生了,但也就仅此而已。 5 分享交流 20% 上面四步都是你自己对知识的理解,你还需要看看同行是如何理解的。 在 “ 学习从来不是一件简单地事情,然. Rdquo; 上有 6 条评论. 联系方式 libisthanks@gmail.com 微信 libisthanks 申请好友请注明城市-公司-姓名. Sparkling Theme by Colorlib.
hbasefly.com
2016年12月 – 有态度的HBase/Spark/BigData
http://hbasefly.com/2016/12
Skip to main content. 和读相比,HBase写数据流程倒是显得很简单 数据先顺序写入HLog,再写入对应的缓存Memstore,当Memstore中数据大小达到一定阈值 128M 之后,系统会异步将Memstore中数据flush到HDFS形成小文件。 联系方式 libisthanks@gmail.com 微信 libisthanks 申请好友请注明城市-公司-姓名. Sparkling Theme by Colorlib.
hbasefly.com
有态度的HBase/Spark/BigData – 第2页
http://hbasefly.com/page/2
Skip to main content. MemStoreLAB策略、Memstore Chuck Pool策略对写缓存Memstore进行优化开始,到0.96版本提出BucketCache以及堆外内存方案对读缓存BlockCache进行优化,再到后续2.0版本宣称会引入更多堆外内存,可见HBase会将堆外内存的使用作为优化GC的一个战略方向。 那怎么定义‘用的好’呢 很简单,在保证系统稳定性、可用性的基础上能够用最少的系统资源 CPU,IO等 获得最好的性能 吞吐量,读写延迟 就是’用的好’。 笔者总结至少有如下几个方面 HDFS相关配置优化,HBase服务器端优化 GC优化、Compaction优化、硬件配置优化 ,列族设计优化,客户端优化. 好在HBase提供了多个客户端参数设置超时,主要包括hbase.rpc.timeout /hbase.client.operation.timeout /hbase.client.scanner.timeout.period。 HBase最佳实践 – 客户端重试机制. HBase GC的前生今世 – 演进篇. HBase GC的前生今世 – 身世篇.
hbasefly.com
HBase最佳实践-集群规划 – 有态度的HBase/Spark/BigData
http://hbasefly.com/2016/08/22/hbase-practise-cluster-planning
Skip to main content. 那问题来了,一个集群上面到底应该运行哪些业务可以最大程度上利用系统的软硬件资源 另外,对于一个给定业务来说,应该如何规划集群的硬件容量才能使得资源不浪费 最后,一个给定的RegionServer上到底部署多少Region比较合适 想必这些问题都曾经困惑过很多HBaser,那本文将结合前人的分享以及笔者的经验简单的对这三个问题分别进行解析,抛砖引玉,希望大家能够针对这几个话题进行深入的交流. 特点 在 离 线写、在线读,需求内存、高IOPS介质. 因此一个集群理论上资源利用率比较高效的配置为 硬盘敏感型业务 带宽敏感型业务 IO敏感型业务。 假如现在一台RegionServer的硬盘规格是3.6T * 12,总内存大小为128G,从理论上来说这样的配置是否会有资源浪费 如果有的话是硬盘浪费还是内存浪费 那合理的硬盘/内存搭配应该是什么样 和哪些影响因素有关. 这里需要提出一个’Disk / Java Heap Ratio’的概念,意思是说一台RegionServer上1bytes的Java内存大小需要搭配多大的硬盘大小最合理。 2 那反过来,如果已经给定了硬件资...
hbasefly.com
HBase Compaction的前生今世-改造之路 – 有态度的HBase/Spark/BigData
http://hbasefly.com/2016/07/25/hbase-compaction-2
Skip to main content. Alter ’table1’ , CONFIGURATION = {‘hbase.store.engine.class’ = ‘org.apache.hadoop.hbase.regionserver.StripStoreEngine’, }. 1 减少参与compaction的文件数 这个很好理解,实现起来却比较麻烦,首先需要将文件根据rowkey、version或其他属性进行分割,再根据这些属性挑选部分重要的文件参与合并 另一方面,尽量不要合并那些大文件,减少参与合并的文件数。 3 小region更有利于compaction 大region会生成大量文件,不利于compaction 相反,小region只会生成少量文件,这些文件合并不会引起很大的IO放大. 2 所有数据能够全部加载到block cache RAM/SSD ,假如HBase有1T大小的SSD作为block cache,理论上就完全不需要做合并,因为所有读操作都是内存操作。 Tier-Based Compaction HBASE-7055 HBASE-14477. 此时如果需要执行compac...