1.概述 在<HBase查询优化>一文中,介绍了基于HBase层面的读取优化.由于HBase的实际数据是以HFile的形式,存储在HDFS上.那么,HDFS层面也有它自己的优化点,即:Short-Circuit Local Reads.本篇博客笔者将从HDFS层面来进行优化,从而间接的提升HBase的查询性能. 2.内容 Hadoop系统在设计之初,遵循一个原则,那就是移动计算的代价比移动数据要小.故Hadoop在做计算的时候,通常是在本地节点上的数据中进行计算.即计算和数据本地化.流程如下图…
1.概述 HBase是一个实时的非关系型数据库,用来存储海量数据.但是,在实际使用场景中,在使用HBase API查询HBase中的数据时,有时会发现数据查询会很慢.本篇博客将从客户端优化和服务端优化两个方面来介绍,如何提高查询HBase的效率. 2.内容 这里,我们先给大家介绍如何从客户端优化查询速度. 2.1 客户端优化 客户端查询HBase,均通过HBase API的来获取数据,如果在实现代码逻辑时使用API不当,也会造成读取耗时严重的情况. 2.1.1 Scan优化 在使用HBase的S…
问题: method:org.apache.hadoop.hdfs.DomainSocketFactory.<init>(DomainSocketFactory.java:69) The short-circuit local reads feature cannot be used because libhadoop cannot be loaded. 不能使用local read的优化策略: 解决: Hadoop的一大基本原则是移动计算的开销要比移动数据的开销小.因此,Hadoop通常是尽…
http://www.daycounter.com/Circuits/Short-Circuit-Protection/Short-Circuit-Protection.phtml Short circuit protection is often a desirable feature to add to power amplifiers or power supplies, for both safety concerns and protection of circuitry. The c…
Scan:setBatch,setCaching,setCacheBlocks public void setBatch(int batch) public void setCaching(int caching) public void setCacheBlocks(boolean cacheBlocks) setBatch:为设置获取记录的列个数,默认无限制,也就是返回所有的列 setCaching:每次从服务器端读取的行数,默认为配置文件中设置的值 <property> <name…
当client请求数据时,datanode会读取数据然后通过TCP协议发送给client.short-circuit绕过了datanode直接读取数据.short-circuit的前提是client和数据在同一个结点上.     short-circuit需要libhadoop.so,一个本地库.该功能使用unix套接字,client和node通过套接字连接,需要对这个套接字设置一个路径,并且datanode有创建这个路径的权限,一般建在/var/run或者/var/lib.client和dat…
hdfs-site.xml added: <property> <name>dfs.client.read.shortcircuit</name> <value>true</value> </property> <property> <name>dfs.domain.socket.path</name> <value>/var/lib/hadoop-hdfs/dn_socket</…
任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题.HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少.总结起来,大家遇到的主要问题无非是Full GC异常导致宕机问题.RIT问题.写吞吐量太低以及读延迟较大. Full GC问题之前在一些文章里面已经讲过它的来龙去脉,主要的解决方案目前主要有两方面需要注意,一方面需要查看GC日志确认是哪种Full GC,根据Full GC类型对JVM参数进行调优,另一方…
任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题.HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少.总结起来,大家遇到的主要问题无非是Full GC异常导致宕机问题.RIT问题.写吞吐量太低以及读延迟较大. Full GC问题之前在一些文章里面已经讲过它的来龙去脉,主要的解决方案目前主要有两方面需要注意,一方面需要查看GC日志确认是哪种Full GC,根据Full GC类型对JVM参数进行调优,另一方…
任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题.HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少. 总结起来,大家遇到的主要问题无非是Full GC异常导致宕机问题.RIT问题.写吞吐量太低以及读延迟较大. Full GC问题的解决方案目前主要有两方面需要注意,一方面需要查看GC日志确认是哪种Full GC,根据Full GC类型对JVM参数进行调优,另一方面需要确认是否开启了BucketCache…