Apache HBase Performance Tuning 官文总结
Apache HBase Performance Tuning
RAM, RAM, RAM. 不要让HBase饿死.
请使用64位的平台
必须将swapping设定为0
- 使用本地硬件来完成hdfs的checksumming计算,见:https://blogs.apache.org/hbase/entry/saving_cpu_using_native_hadoop
 
- 老年代使用CMS垃圾算法,设置-XX:CMSInitiatingOccupancyFraction为60或者70(越小代表发生越多GC,CPU也会消耗越多)
 - 年轻代使用UseParNewGC算法
 - 使用MSLAB机制来放置memstore带来的内存碎片,将base.hregion.memstore.mslab.enabled设置为true即可,92之后的版本都是默认true的。
 - HBASE-8163单子介绍了MSLAB池的机制,可以更加有效的使用MSLAB
 - 除了8613单中提到的机制外也可以使用:XX:PretenureSizeThreshold设置的大小比hbase.hregion.memstore.mslab.chunksize大这样MSLAB的块将直接在老年去产生,避免不必要的年轻代拷贝升级
 - 其他关于一般的Java的GC可以参考Eliminating Large JVM GC Pauses Caused by Background IO Traffic
 - 重要配置
 
| hbase.master.wait.on.regionservers.mintostart | 大集群环境下增大此配置以防止region被分发到少数几台RS上 | 
 | 
默认3分钟,在JVM调优的情况下可以减少,宕机是可以尽处理宕机机器 | 
 | 
 数据卷的损坏情况,这是一个hdfs的配置,默认为0当
dfs.datanode.data.dir下面的任何卷的读写失败都会造成datanode的宕机  | 
 | 
 这是服务端相应客户端请求的线程处理数,一般根据客户端的情况,如客户端每次都将 大数据put或者scan服务器,那么需要设置的小一点,如果每次交互数据量较小则可以 提高此参数,增加处理性能。  | 
| hbase.ipc.server.max.callqueue.size | 
 q请求队列,在纯写的情况可以增大,当有写负载的时候需要主要过大的配置有可能 带来OOM群体。  | 
- 启用ColumnFamily的压缩
 - 将WAL的文件大小设置为小于hdfs的块大小,并且最大wal文件数可以根据 (RS heap * memstore factor )/ wal size
 - 在对业务很了解的情况下可以关闭自动分裂,改为手动分裂,可以将hbase.hregion.max.filesize设置为一个超大值,比如100G但是不建议设置为无限大。
 - 对于与分裂region可以建议每台RS有10个与分裂region
 - 手动控制major cpmpaction来减轻业务压力
 - 在HBase纸上做MR任务的时候请关闭推测执行特性,将
mapreduce.map.speculativeandmapreduce.reduce.speculative设置为false - 配置中将ipc.server.tcpnodelay ==> true
hbase.ipc.client.tcpnodelay ==> true 减少RPC延迟 - MTTR设定:
Set the following in the RegionServer.
<property>
<name>hbase.lease.recovery.dfs.timeout</name>
<value>23000</value>
<description>How much time we allow elapse between calls to recover lease.
Should be larger than the dfs timeout.</description>
</property>
<property>
<name>dfs.client.socket-timeout</name>
<value>10000</value>
<description>Down the DFS timeout from 60 to 10 seconds.</description>
</property>And on the NameNode/DataNode side, set the following to enable 'staleness' introduced in HDFS-3703, HDFS-3912.
<property>
<name>dfs.client.socket-timeout</name>
<value>10000</value>
<description>Down the DFS timeout from 60 to 10 seconds.</description>
</property>
<property>
<name>dfs.datanode.socket.write.timeout</name>
<value>10000</value>
<description>Down the DFS timeout from 8 * 60 to 10 seconds.</description>
</property>
<property>
<name>ipc.client.connect.timeout</name>
<value>3000</value>
<description>Down from 60 seconds to 3.</description>
</property>
<property>
<name>ipc.client.connect.max.retries.on.timeouts</name>
<value>2</value>
<description>Down from 45 seconds to 3 (2 == 3 retries).</description>
</property>
<property>
<name>dfs.namenode.avoid.read.stale.datanode</name>
<value>true</value>
<description>Enable stale state in hdfs</description>
</property>
<property>
<name>dfs.namenode.stale.datanode.interval</name>
<value>20000</value>
<description>Down from default 30 seconds</description>
</property>
<property>
<name>dfs.namenode.avoid.write.stale.datanode</name>
<value>true</value>
<description>Enable stale state in hdfs</description>
</property> 
Apache HBase Performance Tuning 官文总结的更多相关文章
- Apache HBase 集群安装文档
		
简介: Apache HBase 是一个分布式的.面向列的开源 NoSQL 数据库.具有高性能.高可靠性.可伸缩.面向列.分布式存储的特性. HBase 的数据文件最终落地在 HDFS 之上,所以在 ...
 - 【HBase学习】Apache HBase项目简介
		
原创声明:转载请注明作者和原始链接 http://www.cnblogs.com/zhangningbo/p/4068957.html 英文原版:http://hbase.apache.o ...
 - How-to: Enable User Authentication and Authorization in Apache HBase
		
With the default Apache HBase configuration, everyone is allowed to read from and write to all table ...
 - Performance Tuning guide 翻译 || 前言
		
CSDN 对格式支持比較弱,能够到http://user.qzone.qq.com/88285879/blog/1399382878 看一致的内容. 前言Preface 包含例如以下几个小节 l Au ...
 - Performance Tuning guide 翻译 || Performance Tuning Guide 11G中新增特性
		
CSDN 对格式支持比較弱.能够到http://user.qzone.qq.com/88285879/blog/1399382878 看一致的内容. Performance Tuning Guide ...
 - GoldenGate实时投递数据到大数据平台(7)– Apache Hbase
		
Apache Hbase安装及运行 安装hbase1.4,确保在这之前hadoop是正常运行的.设置相应的环境变量, export HADOOP_HOME=/u01/hadoop export HBA ...
 - 【转】How-to: Enable User Authentication and Authorization in Apache HBase
		
With the default Apache HBase configuration, everyone is allowed to read from and write to all table ...
 - Performance Tuning
		
本文译自Wikipedia的Performance tuning词条,原词条中的不少链接和扩展内容非常值得一读,翻译过程中暴露了个人工程学思想和英语水平的不足,翻译后的内容也失去很多准确性和丰富性,需 ...
 - Spark SQL 之 Performance Tuning & Distributed SQL Engine
		
Spark SQL 之 Performance Tuning & Distributed SQL Engine 转载请注明出处:http://www.cnblogs.com/BYRans/ 缓 ...
 
随机推荐
- yii2 查询数据库语法
			
$query0 = ImGroupUser::find()->where(['gid'=>'56680dfc60b215d62104a4d8'])->select('user_cli ...
 - 51nod 1678 lyk与gcd | 容斥原理
			
51nod 200题辣ψ(`∇´)ψ !庆祝! 51nod 1678 lyk与gcd | 容斥原理 题面 这天,lyk又和gcd杠上了. 它拥有一个n个数的数列,它想实现两种操作. 1:将 ai 改为 ...
 - 【51Nod1847】奇怪的数学题
			
 记\(f(x)=\)\(x\)的次大因数,那么\(sgcd(i,j)=f(gcd(i,j))\). 下面来推式子: \[ \begin{aligned} \sum_{i=1}^n\sum_{j=1 ...
 - 关于Powershell对抗安全软件(转)
			
Windows PowerShell的强大,并且内置,在渗透过程中,也让渗透变得更加有趣.而安全软件的对抗查杀也逐渐开始针对powershell的一切行为.在https://technet.micro ...
 - UVA.12169 Disgruntled Judge ( 拓展欧几里得 )
			
UVA.12169 Disgruntled Judge ( 拓展欧几里得 ) 题意分析 给出T个数字,x1,x3--x2T-1.并且我们知道这x1,x2,x3,x4--x2T之间满足xi = (a * ...
 - 用递归的方法求一个数组的前n项和
			
用递归的方法求一个数组的前n项和 public class Demo1 { /* * 用递归的方法求一个数组的前n项和 */ public static void main(String[] args ...
 - qq接入
			
「花与剑: https://blog.csdn.net/wbbott/article/details/53107009」—————————
 - Django中@login_required用法简介
			
我们在网站开发过程中,经常会遇到这样的需求: 用户登陆系统才可以访问某些页面 如果用户没有登陆而直接访问就会跳转到登陆界面,而不能访问其他页面. 用户在跳转的登陆界面中完成登陆后,自动访问跳转到之前访 ...
 - HTML常用标签-<head>内常用标签
			
HTML常用标签-<head>内常用标签 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HTML是什么 1>.超文本标记语言(Hypertext Ma ...
 - android获取APP 包名和activity
			
1.连接设备并启动被测试app应用 2.打开cmd窗口 3.windows获取包名和activity adb shell dumpsys activity |find "mFocuse ...