随笔分类 - 大数据-HBase
摘要:本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。 1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个regio
阅读全文
摘要:在初期阶段,项目团队只使用了少量HBase节点以满足基本的读写需求。随着数据量的增加和业务需求的复杂化,HBase集群扩展到了几十个节点。此时,性能问题逐渐暴露出来:如读写延迟增大、热点问题严重等。为了应对这些挑战,项目团队逐步引入了一系列优化措施,并通过持续的调优,显著提升了HBase集群的性能。
阅读全文
摘要:一、minor和major的区别: Minor Compaction:指选取一些小的、相邻的HFile将他们合并成一个更大的HFile,但不会清理过期(TTL)和删除(打上Delete标记)的数据。 命令:compact 'tableName' Major Compaction:指将一个Store中
阅读全文
摘要:1、将Hbase shell执行结果输出到文件 echo "scan 'test'" | hbase shell>my.txt 2、查看表的region数 list_regions 'test' 3、执行文件中的Hbase shell hbase shell my.txt
阅读全文
摘要:问题描述 执行stop-hbase.sh时,等待很长时间都没结束(出来很多“...”) 解决办法: hbase-daemons.sh stop masterhbase-daemons.sh stop regionserver
阅读全文
摘要:a) 准备测试数据 这里准备的csv文件data_test.csv,内容没用''包裹,逗号作为列分隔符 171301,燕青,男,27,发展部 171207,武松,男,39,开发部 171307,李逵,男,41,开发部 320812,宋江,男,45,战略部 321009,顾大嫂,女,38,后勤部 17
阅读全文
摘要:Hbase 预分区 HBase表在刚刚被创建时,只有1个分区(region),当一个region过大(达到hbase.hregion.max.filesize属性中定义的阈值,默认10GB)时,表将会进行split,分裂为2个分区。表在进行split的时候,会耗费大量的资源,频繁的分区对HBase的
阅读全文
摘要:hbase shell操作 一、DDL操作 1.开启hbase shell hbase shell 2.查看hbase状态 Status 3.查看hbase版本 Version 4.创建命名空间 create_namespace '命名空间名' 5.显示所有命名空间 list_namespace 6
阅读全文
摘要:一、如何选择压缩算法以及Data_Block_Encoding?(1)如果Key很长,或者有很多Column,那么推荐使用FAST_DIFF。(2)如果数据是冷数据,不经常被访问,那么使用GZIP压缩格式。因为虽然它比Snappy/LZO需要占用更多而CPU,但是它的压缩比率更高,更节省磁盘。(3)
阅读全文
摘要:由于Hbase是列式数据库,没有提供类似SQL的数据查询语句,可以通过以下三种方式获取表的总行数。 1. 使用Hbase自带的Count命令 hbase提供了count命令可以在hbase交互界面使用,获取总行数。 hbase> count 'test' hbase> count 'test', I
阅读全文
摘要:一、宽表和高表定义 HBase 中的表可以设计为高表(tall-narrow table) 和 宽表(flat-wide table): (1) 宽表是指很多列较少行,即列多行少的表,一行中的数据量较大,行数少; (2) 高表是指很多行较少列,即行多列少,一行中的数据量较少,行数大。 二、宽表和高表
阅读全文
摘要:1、问题描述 执行hbase shell命令时提示: ERROR: KeeperErrorCode = NoNode for /hbase/master 2、问题原因 这是与因为服务器重启后Hadoop的运行和Hbase的运行异常。 3、解决办法 依次去停止和启动Hadoop (1)到hadoop的
阅读全文
摘要:1、问题描述 HBase启动时异常如下: java.lang.IllegalArgumentException: object is not an instance of declaring class at sun.reflect.NativeMethodAccessorImpl.invoke0(
阅读全文
摘要:一、Hbase的概念 HBase是Hadoop的生态系统,是建立在Hadoop文件系统(HDFS)之上的分布式、面向列的数据库,通过利用Hadoop的文件系统提供容错能力。如果你需要进行实时读写或者随机访问大规模的数据集的时候,请考虑使用HBase! HBase作为Google Bigtable的开
阅读全文
摘要:了解Flush触发条件后,这里产生了一个问题,频繁的flush会产生大量小文件,在对hbase进行查询时会产生大量IOPS,读取性能会受到很大的影响,同时也会给hdfs造成一定压力,hbase提供了一个Compact机制来合并这些HFile,以下对Compact机制做详细介绍。 在hbase中每当有
阅读全文
摘要:一、HBase数据模型(☆) 1.NameSpace 命名空间,类似于关系型数据库的 Database 概念,每个命名空间下有多个表。HBase有两个自带的命名空间,分别是 hbase 和 default,hbase 中存放的是 HBase 内置的表,default 表是用户默认使用的命名空间。 2
阅读全文
摘要:1.HBase是什么? 1) HBase是一个分布式的基于列式存储的数据库,基于Hadoop的hdfs存储,zookeeper进行管理。 2) HBase适合存储半结构化或非结构化数据,对于数据结构字段不够确定或者杂乱无章很难按一个概念去抽取的数据。 3) HBase为null的记录不会被存储。 4
阅读全文