首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hbase优化

本文对hbase集群进行优化,主要涵盖硬件和操作系统,网络通信,JVM,查询,写入,核心服务,配置参数,zookeeper,表设计等多方面。...我们对hbase的应用主要是用户画像,根据自身使用场景做一些优化。难免有片面之处。 一、软硬件优化: 1....配置内存,cpu HBase的LSM树结构,缓存机制和日志机制对内存消耗非常大,所以内存越大越好。 其中过滤器,数据压缩,多条件组合扫描等场景都是cpu密集型的,所以cpu也要够强悍 2....JVM优化 根据网络上很多成熟引用验证比较优秀的垃圾回收器搭配组合CMS+ParNew 二、进入主题:Hbase本身优化 1. Hbase查询优化: a....优化合并操作:大合并非常消耗资源,且合并时候会阻塞写操作。应该在集群不繁忙的时候进行大合并 4. Hbase配置参数优化: a.

1.3K50
您找到你想要的搜索结果了吗?
是的
没有找到

HBase读写优化

Hbase查询优化 作为NoSQL数据库,增删改查是其最基本的功能,其中查询是最常用的一项。...缓存查询结果 对于频繁查询HBase的应用场景,可以考虑在应用程序和Hbase之间做一层缓存系统,新的查询先去缓存查,缓存没有再去查Hbase。...写入优化 写也是Hbase常有的操作之一,并且Hbase在写入操作上有着其他NoSQL无法比拟的优势,下面讲如何优化写入操作 关闭写WAL日志 一般为了保证系统的高可用性,WAL日志默认是开启状态,WAL...建议刚开始的时候预创建Region,可以使用Hbase自带的RegionSplitter 延迟日志flush 默认写入操作,首先写入WAL,并且在1S内写入HDFS,这个时间默认是1S,可以通过参数配置...hbase.regionserver.optionallogflushinterval 可以配置大一点的值,比如5s,这段时间数据会保留在内存中,直到RegionServer周期性的执行flush操作

84230

HBase优化笔记

HBase 优化 JVM调优 内存调优 一般安装好的HBase集群,默认配置是给Master和RegionServer 1G的内存,而Memstore默认占0.4,也就是400MB。...并行回收器(ParallelGC),主要针对年轻带进行优化(JDK 8 默认策略)。 并发回收器(ConcMarkSweepGC,简称CMS),主要针对年老代进行优化。...G1GC回收器,主要针对大内存(32GB以上才叫大内存)进行优化。...如果你不配置这个参数,JVM会按 需索取堆外内存;如果你配置了这个参数,你可以定义JVM可以获得的堆外内存上限。显而易见的,这个参数值必须比 hbase.bucketcache.size大。...最小合并大小的配置项:hbase.hstore.compaction.min.size。如果没设定该配置项,则使用hbase.hregion.memstore.flush.size。

1.1K00

Hbase(三)Hbase安装配置

​ 修改conf/hbase-site.xml,配置hbase使用的数据文件的位置,默认在/tmp/hbase-[username],此目录是linux的临时目录,可能会被系统清空,所以最好修改一下...修改hbase-site.xml,配置开启完全分布式模式 配置hbase.cluster.distributed为true。...false 配置region服务器,修改conf/regionservers文件, 其中配置所有hbase主机,每个主机名独占一行,hbase启动或关闭时会按照该配置顺序启动或关闭主机中的hbase...Hbase配置文件说明 hbase-env.sh配置HBase启动时需要的相关环境变量 hbase-site.xml配置HBase基本配置信息 HBASE启动时默认使用hbase-default.xml...中的配置,如果需要可以修改hbase-site.xml文件,此文件中的配置将会覆盖hbase-default.xml中的配置 修改配置后要重启hbase才会起作用 启动集群 启动zookeep:.zkServer.sh

2K10

HBase实践 | HBase IO优化与高可用建设

另一方面,通过对hbase业务接入场景的了解,发现很多业务在接入hbase的时候都是先将数据写入到kafka,在通过实时流计算消费把kafka中的数据转存到hbase,以起到流量消峰的作用,而如果我们能够把业务原始数据与...MTTR优化 如之前所描述,影响hbase的MTTR时间主要涉及两个方面,分别是服务宕机的发现时间和WAL日志的回放时间。...基于此我们考虑将hbase的整体写链路做一下相应的调整,客户端不在直连hbase进行写入,而是先记录WAL到kafka,再通过实时流计算消费,把kafka中的WAL数据同步到hbase集群。 ?...另外客户端视角的写容错时间也只跟kafka的故障恢复时间有关,而不受到hbase长时间MTTR过程的影响。...这样不同的集群可开启不同的流计算作业去消费kafka中的WAL以便将数据同步到自己的hbase集群,而hbase的机房容灾功能也可转嫁到kafka的数据容灾处理上。

1.5K30

Hbase 学习(一) hbase配置文件同步

HDFS和Hbase配置同步 hbase配置中有一些和hdfs关联的配置,当hdfs中修改了,但是hbase中修改了,hbase中是不会知道的,比如dfs.replication,有时候我们想增加备份的数量...那么有什么方法可以使他们的配置文件同步,有三种方法: (1)在hbase-env.sh的HBASE_CLASSPATH环境变量增加HADOOP_CONF_DIR。...(2)在${HBASE_HOME}/conf下放一份hadoop的配置文件hdfs-site.xml (or hadoop-site.xml)。 (3)直接在hbase-site.xml中添加。...从上述三种方法当中,目测是第一种方法比较靠谱,当然要同步配置文件还有别的方法,后续再进行介绍。...---- Hbase配置文件同步的脚本 以下这两个脚本都可以实现集群的hbase配置文件同步,第二个还带有删除之前配置文件的方法,用的时候注意一些 #!

1.2K60

HBase集群环境配置

:$PATH 使得配置的环境变量立即生效: # source /etc/profile 3.3 集群配置 进入 ${HBASE_HOME}/conf 目录下,修改配置: 1. hbase-env.sh...3.4 HDFS客户端配置 这里有一个可选的配置:如果您在 Hadoop 集群上进行了 HDFS 客户端配置的更改,比如将副本系数 dfs.replication 设置成 5,则必须使用以下方法之一来使...以上是官方文档的说明,这里解释一下: 第一种 :将 Hadoop 配置文件的位置信息添加到 hbase-env.sh 的 HBASE_CLASSPATH 属性,示例如下: export HBASE_CLASSPATH...core-site.xml 第三种 :如果你只有少量更改,那么直接配置hbase-site.xml 中即可。...3.5 安装包分发 将 HBase 的安装包分发到其他服务器,分发后建议在这两台服务器上也配置一下 HBase 的环境变量。

56340

HBase实践 | HBase内核优化与吞吐能力建设

以公司常用的机器配置模版为例,通常每台机器会挂载12块盘,每块盘提供5T存储,因此每台机器可对外提供约60TB的存储容量。...针对cacheOnWrite特性优化了内存使用(详细可参考HBASE-23107) 针对数据读取操作避免重复预热。...读写链路GC优化 针对时延响应要求比较高的java系统,GC往往是最为头疼的问题,如果读写链路有大量的临时对象创建,YGC的执行频率将变得异常频繁。...然而通过对RS进程进行profile发现,整个读写链路的GC优化其实还不够彻底,在很多功能链路上还是遗漏了一些细节,比如: ?...以上便是有关GC链路的一些优化处理,核心思想主要是采用池化管理机制来降低临时对象的空间申请与释放行为,代码层面主要是通过ByteBuffer池来进行空间管理并配合Unsafe的使用来跳过一些边界检查行为

1K64

hbase 学习(十四)Facebook针对hbase优化方案分析

使用hbase的目的是为了海量数据的随机读写,但是在实际使用中却发现针对随机读的优化和gc是一个很大的问题,而且hbase的数据是存储在Hdfs,而Hdfs是面向流失数据访问进行设计的,就难免带来效率的下降...HBase中遇到的一些问题和解决方案。...HBase的设计是分层结构的,依次是DB逻辑层、FS逻辑层、底层系统逻辑层。...注:关于拿Flash/SSD做cache,可以参考HBase BucketBlockCache(HBASE-7404) ?...加州大学圣迭戈分校(UCSD)和微软亚洲研究院(MSRA)都曾经设计专门的数据中心网络拓扑来优化网络I/O负载,相关研究成果在计算机网络顶级会议SIGCOMM上发表了多篇论文,但是由于其对网络路由器的改动伤筋动骨

1.1K50

技术干货 | hbase配置详解

● 线上配置为true ● 默认值:false hbase.zookeeper.quorum ● zookeeper集群的URL配置,多个host中间用逗号(,)分割 ● 线上配置 <property...● 线上配置:kerberos ● 默认值:空 hbase.security.authorization ● HBase是否开启安全授权机制 ● 线上配置: true ● 默认值: false...Full GC,提高整体性能 ● 线上配置:true ● 默认配置: true hbase.regionserver.maxlogs ● regionserver的hlog数量 ● 线上配置...:10 ● 默认配置:3 hbase.hstore.compaction.max ● 单次minor compact最多的文件个数 ● 线上配置:30 ● 默认配置:10 hbase.hstore.blockingStoreFiles...默认配置:Long.MAX_VALUE hbase.rpc.timeout ● RPC请求timeout时间 ● 线上配置:300000(5min) ● 默认配置:60000(10s) hbase.regionserver.region.split.policy

1.7K50

关于Hbase的cache配置

关于Hbase的cache配置hbase中的hfilecache中,0.96版本号中新添加了bucket cache, bucket cache通过把hbase.offheapcache.percentage...配置为0来启用, 假设hbase.offheapcache.percentage的配置值大于0时,直接使用堆外内存来管理hbase的cache, 通过把hfile.block.cache.size...a.首先读取hbase.bucketcache.ioengine配置的值,可配置项为 file:/path/cache.data 基中的/path表示详细的文件路径,也就是SSD这类的快速磁盘...offheap 使用堆外内存 heap 不使用堆外内存 b.通过hbase.bucketcache.size配置cache的大小, 这里注意下规则;假设配置的值是0-1之间的小数时...,表示hbase堆的百分比 否则表示配置的多少个MB的值,如此处配置为1024那么表示配置有1GB的cache float bucketCachePercentage = conf.getFloat

51810
领券