Hbase优化方案
1、预分区设计
真正存储数据的是region要维护一个区间段的rowkey startRow~endRowkey
-》手动设置预分区
create 'user_p','info','partition',SPLITS => ['101','102','103','104']
存在-∞ +∞
第一个分区 -∞ ~ 101
第二个分区 101~102
第三个分区 102~103
第四个分区 103~104
第五个分区 104 ~ +∞
-》生成16进制序列预分区
create 'user_p2','info','partition',{NUMREGIONS => 15,SPLITALGO => 'HexStringSplit'}
-》按照文件中设置的规则设置预分区
create 'user_p4','partition',SPLITS_FILE => 'splits.txt'
附:splits.txt
a1
b2
c3
d4
2、rowkey设计
一条数据的唯一标识是rowkey,此rowkey存储在哪个分区取决于属于哪个预分区内。
为什么要设计rowkey?数据倾斜
为了防止出现数据倾斜
(1)生成随机数/hash/散列值
例如:rowkey是101 变成:dd21231dqwdqd123131d112131
102 变成:wqdqdq212131dqdwqwdqdw1d21 (2)字符串反转
2018120800011 1100080218102
2018120800012 2100080218102 (3)字符串拼接
2018120800011_a12e
2018120800012_odd12c
101~105 105~100000
3、HBase优化
(1)内存优化
一般分配70%内存给Hbase的java堆
不建议分配非常大的堆内存
一般设置为 16~48G内存即可
设置:export HADOOP_PORTMAP_OPTS="-Xmx512m $HADOOP_PORTMAP_OPTS"
注意:etc/hadoop下 hadoop-env.sh (2)基础优化
-》优化DataNode
最大文件打开数
hdfs-site.xml
属性:dfs.datanode.max.transfer.threads
默认值:4096 设置大于4096 -》优化延迟高的数据操作等待时间
hdfs-site.xml
属性:dfs.image.transfer.timeout
默认:60000毫秒
调大 -》数据写入效率
压缩
属性:mapreduce.map.output.compress
值:org.apache.hadoop.io.compress.GzipCodec -》优化Hstore的文件大小
属性:hbase.hregion.max.filesize
默认值:10GB
调小
Hbase优化方案的更多相关文章
- Tomcat 配置详解/优化方案
转自:http://blog.csdn.net/cicada688/article/details/14451541 Service.xml Server.xml配置文件用于对整个容器进行相关的配置 ...
- 一个网站完整详细的SEO优化方案
根据自己的个人经验完成了这篇文章,希望对SEOer有点帮助,高手直接跳过,请勿喷水... 一个完整的SEO优化方案主要由四个小组组成: 一.前端/页编人员 二.内容编辑人员 三.推广人员 四.数据分析 ...
- mysql 性能优化方案
网 上有不少MySQL 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...
- iOS界面跳转的一些优化方案
原文地址: http://blog.startry.com/2016/02/14/Think-Of-UIViewController-Switch/ iOS界面跳转的一些优化方案 App应用程序开发, ...
- tomcat配置详解/优化方案
Service.xml Server.xml配置文件用于对整个容器进行相关的配置. <Server>元素:是整个配置文件的根元素.表示整个Catalina容器. 属性:className: ...
- mysql 性能优化方案1
网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...
- (转)Web性能优化方案
第一章 打开网站慢现状分析 在公司访问部署在IDC机房的VIP网站时会感觉很慢.是什么原因造成的?为了缩短页面的响应时间,改进我们的用户体验,我们需要知道用户的时间花在等待什么东西上. 可以跟踪一下我 ...
- mysql 性能优化方案 (转)
网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...
- AngularJS应用页面切换优化方案
葡萄城的一款尚在研发中的产品,对外名称暂定为X项目.其中使用了已经上市的Wijmo中SpreadJS产品,另外,在研发过程中整理了一些研发总结分享给大家.如本篇的在页面切换的过程中优化方案,欢迎大家跟 ...
随机推荐
- mouseover mouseenter mouseout mouseleave
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...
- CSS学习笔记(11)--Flex 布局教程:语法篇
原文--阮一峰博客 作者: 阮一峰 日期: 2015年7月10日 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 ...
- Windows Phone 提升开发效率(一)使用d:DataContext添加设计时Binding
[问题的提出] 在开发过程中我们经常会遇到将UI同学提供的效果图转化成实际的页面,而在这过程中,多数时候Blend等设计工具默认情况下并不能提供很好的可视化支持. 举个简单的例子来说下吧: ...
- OpenGL ES 简单教程
什么是OpenGL ES? OpenGL ES (为OpenGL for Embedded System的缩写) 为适用于嵌入式系统的一个免费二维和三维图形库. 为桌面版本号OpenGL 的一个子集. ...
- XmlFactoryBean和DefaultListableBeanFactory学习
首先提供了一个Spring容器最简单的例子. bean的定义,MyTestBean.java public class MyTestBean { private String testStr = &q ...
- [转]hadoop,spark,storm,pig,hive,mahout等到底有什么区别和联系?
摘自知乎大神的论述 作者:Xiaoyu Ma链接:https://www.zhihu.com/question/27974418/answer/38965760来源:知乎著作权归作者所有,转载请联系作 ...
- myeclipse工程重名后怎么更改deploy location?
http://zhidao.baidu.com/link?url=I9E16OYfxovPHqBrRWhYCI9TYNG_X-Whg_X7QrJiOBXBGEwi-6WYsC-Zi4Jcg9zd3ye ...
- Java Spring Boot: Unable to determine jdbc url from datasource
如果你和我一样从github或码云上下载了一个几年前别人写的demo代码,想用来做学习用.编译的时候遇到下面这样的错误,然后死命上网查各种方案,百试不灵.试尽了各种方案,就是还连接不上数据库.你可以试 ...
- 如果没有指定Cookie的时效,那么默认的时效是。(选择1项)
如果没有指定Cookie的时效,那么默认的时效是.(选择1项) A.一天 B. 永不过期 C.会话级别 D.一分钟 解答:C 这是API的原文:By default, -1 indicating th ...
- ti8168平台的tiler memory
DM8168 DMM/TILER简介 1.概述 如图4-1,DMM定位在SDRAM控制器的前端,是所有initiator产生的内存存取的接口. 动态内存管理器DMM,是一个专门的管理模块,广义上说,包 ...