首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏不温卜火

    HBase快速入门系列(9) | HBase优化

    HBase HA(高可用)   在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServer的负载,如果Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态 关闭HBase集群(如果没有开启则跳过此步) [bigdata@hadoop002 hbase]$ bin/stop-hbase.sh 2. rowKey为1001的,SHA1后变成:dd01903921ea24941c26a48f2cec24e0bb0e8cc7 原本rowKey为3001的,SHA1后变成:49042c54de64a1e9bf0b33e00245660ef92dc7bd 优化hbase客户端缓存 hbase-site.xml 属性:hbase.client.write.buffer 解释:用于指定HBase客户端缓存,增大该值可以减少RPC调用次数,但是会消耗更多内存 9. flush、compact、split机制   当MemStore达到阈值,将Memstore中的数据Flush进Storefile;compact机制则是把flush出来的小文件合并成大的Storefile

    90930发布于 2020-10-28
  • 来自专栏老司机的技术博客

    docker实战(9)docker快速安装hbase

    下载镜像 docker pull harisekhon/hbase 运行容器 docker run -ti harisekhon/hbase当你执行成功之后直接进入hbase shell,慢慢享用吧 使用hbase 退出容器后,下次再进入可以使用 docker exec -ti hbase1 /hbase/bin/hbase shell 创建表,第一个参数是表名,第二个参数是列簇名 create ' table1' , 'cf1' 1)查看有哪些表 hbase(main)> list 2)创建表 # 语法:create

    , {NAME => <family>, VERSIONS => => 2},{NAME => 'f2', VERSIONS => 2} 3)删除表 分两步:首先disable,然后drop 例如:删除表t1 hbase(main)> disable 't1' hbase >'15552000'} hbase(main)> enable 'test1'

    1.3K70发布于 2018-04-16
  • 来自专栏机器学习/数据可视化

    Spark笔记9-HBase数据库基础

    Hbase 术语 表:HBase采用表来组织数据,表由行和列组成。 通过四维数据:行键+列族+列限定符+时间戳,才能限定一个数据 文件读写 启动Hbase数据 Hbase是谷歌开源的big table;一个表中包很多的行和列。 /sbin/start-all.sh # 启动HBase cd /usr/local/hbase ./bin/start-hbase.sh . /bin/hbase shell # 启动hbase shell 创建表student hbase> disable 'student' hbase> drop 'student' # 删除表 habse /bin/hbase classpath):/usr/local/spark/jars/hbase/* 读取数据 将HBase内部数据的格式转成string

    1.4K30发布于 2021-03-02
  • 来自专栏巴啦啦的积累

    《架构整洁之道》第 9 章 LSP:里氏替换原则

    里氏替换原则:(LSP :Liskov Substitution Principle)。使用一个父类对象,替换成该父类对象的子类对象后,该程序不会发生异常。 最关键的是这两个实现类,可以直接替换掉License接口。这样就是符合LSP原则的。图片正方形/长方形问题以下设计中,正方形/长方形问题,是一个著名的违反LSP的设计案例。 如果使用Square,来替换掉Rectangle,就会发现错误。看下面的例子。Rectangle r = ... //当这里是长方形时Rectangle,这个断言自然能通过。 这里将第三方看作是可替换的组件。本章小结LSP可以且应该被用于软件架构层面,因为一旦违反了可替换性,该系统就不得不为此增添复杂的应对机制。

    51030编辑于 2023-05-25
  • 来自专栏LhWorld哥陪你聊算法

    HBase篇--初始Hbase

    一.前述 1.HBase,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库。 二.Hbase数据模型 ? 2.1 ROW  KEY(相当于关系型数据库中的ID) 决定一行数据 按照字典顺序排序的。 HBase把同一列族里面的数据存储在同一目录下,由几个文件保存。 2.3 Timestamp时间戳(相当于版本!!!) 三.Hbase架构 ? 3.1 Client 包含访问HBase的接口并维护cache来加快对HBase的访问 3.2 Zookeeper 保证任何时候,集群中只有一个master(HA) 存贮所有Region的寻址入口。

    5.6K20发布于 2018-09-13
  • 来自专栏大数据那些事

    Hbase(4)——hive on hbase

    可以用如下语句在hive上实行创表,然后hbase上会出现对应的表 ? ? 此时可以看见basketball2已经在hbase上建立了 ps:CREATE TABLE basketball2(num int,team string,state string) STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’ WITH SERDEPROPERTIES (“hbase.columns.mapping” = “ :key,player:team,player:state”) TBLPROPERTIES (“hbase.table.name” = “basketball2”); create table后面跟hive 上要创建的表名,mapping相当于映射,:前面没有东西就相当于是hbase里的rowkey,后面的player相当于列族里的Column family,而team和state相当于Column qualifier

    4.9K10发布于 2020-11-11
  • 来自专栏生如夏花的个人博客

    Hbase(四):Hbase原理

    Hbase(四):Hbase原理 Hbase的工作方式 region的分裂和结构 hbase表中的数据按照行键的字典顺序排序 hbase表中的数据按照行的的方向切分为多个region 最开始只有一个 写入数据到hdfs的过程其实是不断追加hfile的过程 Hbase写入数据 数据写入hbase时 先在hlog中记录日志 再修改memstore 直接返回成功 这样 不需要真正等待写入hdfs的过程 所以很快 由于hbase中的数据天然排序 再加上索引 整个查询也可以非常的快 Hbase中的region的寻址 在hbase中有一个hbase:meta表,其中存放了 表和region和regionSever 之间的对应关系信息 ​ 支持增、删、读、改、顺序扫描操作 ​ 牺牲了一部分读的性能换取了高效写入能力 Hbase系统架构 hbase中的老大叫hmaster 小弟叫hregionServer 客户端叫Client 的数据是可靠的 ​ 基于hdfs,由hdfs的可靠性保证了hbase的可靠性–即数据可以有多个备份 ​ 利用zookeeper实现了HA,即使某一台机器挂掉另外的机器也可以很快的替换Hbase与Hive

    5K10发布于 2020-11-24
  • 来自专栏章鱼carl的专栏

    HBaseHBase之what

    (9)HFile:存储列族数据,HBase中的最小单位了。但也可以进行拆分,也就是所谓的分区,让数据更加分散,读取数据的时候更加效率。 ,3*3*128M)=1152M 第三次拆分大小为:min(10G,5*5*128M)=3200M 第四次拆分大小为:min(10G,7*7*128M)=6272M 第五次拆分大小为:min(10G,9* 9*128M)=10G 第六次拆分大小为:min(10G,11*11*128M)=10G 从上面的计算我们可以看到这种策略能够自适应大表和小表,但是这种策略会导致小表产生比较多的小region,对于小表还是不是很完美 添加到.META.表中,已表名父Region被拆分成了daughterA和daughterB两个Region (8) 第8步RegionServer并行开启两个子Region,并正式提供对外写服务 (9) 第9步RegionSever将daughterA和daughterB添加到.META.表中,这样就可以从.META.找到子Region,并可以对子Region进行访问了 (10) 第10步RegionServr

    4.4K40编辑于 2022-03-31
  • 来自专栏章鱼carl的专栏

    HBaseHBase之how

    HBase Shell 常用命令: 注意:HBase在linux命令行下操作时,区分大小写 HBase API HBase 提供Java方式的原生接口,其中需要注意的有: (1)创建Connection HBase Rest Gateway HBase附带的REST服务器,该服务器将HBase表,行,单元和元数据作为URL指定的资源公开。 HBase到Hive 将HBase的数据作为数据源,建立Hive外部表关联到HBase,利用Hive的HQL查询HBase数据,更进一步,将Hive的元数据同步到Impala,利用Impala的SQL 这是HBase二级索引出现的背景。即二级索引是为了让HBase能够提供更多维度的查询能力。 5.避免数据热点的方法 - Hashing 基于RowKey的完整或部分数据进行Hash,而后将Hashing后的值完整替换原RowKey或部分替换RowKey的前缀部分。

    4.2K20编辑于 2022-03-31
  • 来自专栏岑玉海

    Hbase 学习(十) HBase Snapshots

    /bin/hbase shell hbase> snapshot 'myTable', 'myTableSnapshot-122112' 3.列出已经存在的快照 $ . /bin/hbase shell hbase> list_snapshots 4.删除快照 $ . /bin/hbase shell hbase> delete_snapshot 'myTableSnapshot-122112' 5.从快照复制生成一个新表 $ . /bin/hbase shell hbase> disable 'myTable' hbase> restore_snapshot 'myTableSnapshot-122112' 提示:因为备份( 7.复制到别的集群当中 该操作要用hbase的账户执行,并且在hdfs当中要有hbase的账户建立的临时目录(hbase.tmp.dir参数控制) 采用16个mappers来把一个名为MySnapshot

    5.3K80发布于 2018-03-01
  • 来自专栏大数据技术架构

    HBase漫谈 | HBase技术选型准则

    HBase 的主要特性 HBase包含很多特性,这里列举了HBase的一些关键特性: 强一致性读写:HBase并不是最终一致性,而是强一致性的系统,这使得HBase非常适合做高速的聚合操作。 什么时候使用 HBase HBase作为一款NoSQL数据库,前面也提及了并不能解决所有问题。 3、能够容忍NoSQL短板 前面提及了NoSQL并不能解决所有问题,HBase也是一样,如果业务场景是需要事务支持、表与表的关联查询等,不建议使用HBase。 4、数据分析需求并不多 虽然说HBase是一个面向列的数据库,但它有别于真正的列式存储系统比如Parquet、Kudu等,再加上自身存储架构的设计,使得HBase并不擅长做数据分析,或者说数据分析是HBase HBase 的使用场景 由于HBase丰富的特性,加上自身的海量数据存储能力与超大规模并发访问能力,使得HBase应用非常广泛。

    3.9K10发布于 2019-08-16
  • 来自专栏爱生活爱编程

    HBase原理 | HBase Split与Compaction

    文章目录 组件模块说明 StoreFile Compaction Region Split 组件模块说明 HBase:以下内容为V1.3版本 StoreFile:每一个region由一个或多个store 组成,至少是一个store,hbase为每个列族建一个store,如果有几个列族,也就有几个Store。 HFile:HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件。StoreFile底层是以HFile的格式保存。 Region是HBase中分布式存储和负载均衡的最小单元。类似于关系型数据库的表概念。 ,"hbase.hregion.max.filesize"), 该 Region 就会进行拆分,其中 R 为当前 Region Server 中属于该 Table 的个数(0.94 版本之后)。

    2.8K20编辑于 2022-06-08
  • 来自专栏数据技术

    使用 HBase - HBase Shell 命令

    数人之道原创文章,转载请关注本公众号联系我们 HBase Shell 命令文章大纲 HBase 数据库默认的客户端程序是 HBase Shell,它是一个封装了 Java 客户端 API 的 JRuby 用户可以在 HBase 的 HMaster 主机上通过命令行输入 hbase shell,即可进入 HBase 命令行环境,以命令行的方式与 HBase 进行交互。 使用 quit 或 exit 命令可退出 HBase 命令行环境。 [hadoop@hadoop100 ~]$ hbase shell 下面介绍部分常用的 HBase Shell 操作命令。 1 HBase Shell 数据操作命令 这部分命令主要涉及对 HBase 的命名空间、表及数据的增删改查操作。 下面的操作以《初识 HBase - HBase 基础知识》3.2 节中的数据为基础进行。 图1:HBase Shell 操作基础数据 注意:数据会根据需要进行调整。

    12.8K31编辑于 2022-01-18
  • 来自专栏LhWorld哥陪你聊算法

    HBase篇--HBase常用优化

    二.具体优化 1.表的设计  1.1 预分区 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region 因此Hbase的更新其实是不断追加的操作。 至于缓存的替换策略,可以考虑LRU等常用的策略。 3.6 Blockcache !!! HTable和HTablePool使用注意事项 HTable和HTablePool都是HBase客户端API的一部分,可以使用它们对HBase表进行CRUD操作。 使用solr和hbase整合完成全文搜索。 a) 使用MR批量读取hbase中的数据,在solr里面建立索引(no  store)之保存rowkey的值。

    6.7K50发布于 2018-09-13
  • 来自专栏生如夏花的个人博客

    Hbase(五) JavaApi操作Hbase

    Hbase(五): JavaApi操作Hbase 依赖 <dependencies> <dependency> <groupId>org.apache.hbase</groupId > <artifactId>hbase-client</artifactId> <version>0.98.17-hadoop2</version> </dependency > <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId 版本一致 Hbase版本可以通过连接Hbase client使用version命令查看 定义静态配置变量 public static Configuration conf; static{ conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.quorum","hadoop1:2181"); } 由于配置变量都是一样的,

    3.9K10发布于 2020-11-24
  • 来自专栏实时计算

    Hbase入门(一)——初识Hbase

    本文将介绍大数据的知识和Hbase的基本概念,作为大数据体系中重要的一员,Hbase弥补了Hadoop只能离线批处理的不足,支持存储小文件,随机检索。 而这种特性使得Hbase对于实时计算体系的事件存储有天然的较好的支持。这使得Hbase在实时流式计算中也扮演者重要的角色。 ? Hbase使用Java编写,还是一种NoSQL数据库,这些特性决定了Hbase独特的应用场景。 的表模型与关系型数据库的表模型不同: ​ Hbase的表没有固定的字段定义; ​ Hbase的表中每行存储的都是一些key-value对; ​ Hbase的表中有列族的划分,用户可以指定将哪些kv 通过将数据增量的存入Hbase,并在流式处理中实时查询Hbase,结合历史得到最终的分析结果。

    3.9K30发布于 2019-09-29
  • 来自专栏生如夏花的个人博客

    Hbase(二)Hbase常用操作

    Hbase(二):Hbase常用操作 常用shell命令 hbase shell命令 描述 alter 修改列族(column family)模式 count 统计表中行的数量 create 创建表 describe 行,列对应的值,另外也可以指定时间戳的值) deleteall 删除指定行的所有元素值 disable 使表无效 drop 删除表 enable 使表有效 exists 测试表是否存在 exit 退出hbase shell get 获取行或单元(cell)的值 incr 增加指定表,行或列的值 list 列出hbase中存在的所有表 put 向指向的表单元添加值 tools 列出hbase所支持的工具 scan 通过对表的扫描来获取对用的值 status 返回hbase集群的状态信息 shutdown 关闭hbase集群(与exit不同) truncate 重新创建指定表 version 返回hbase版本信息

    3.9K10发布于 2020-11-24
  • 金融科技历史库架构演进:基于 TDSQL TDStore 替换 HBase 的降本与性能双重跃升

    业务团队为满足监管要求的长期保存与跨可用区容灾能力,早期将超出时间阈值的数据归档至 HBase。 然而,随着业务深度的增加,基于原生 HBase 的架构在运维成本与开发效率上面临显著的结构性瓶颈,亟需通过架构升级实现以下目标: 精简组件依赖,降低运维成本 (Ops Cost): HBase 依赖 Zookeeper 引入 TDSQL TDStore 敏态引擎重构底层存储 为彻底解决上述架构痛点,业务团队引入基于容器化云原生架构的 TDSQL 新一代敏态引擎 TDStore,全面替换原有 HBase 历史库集群。 量化核心业务系统的数据查询与存储效能 经过架构替换与业务割接,基于 TDSQL TDStore 引擎的还款记录历史库在系统性能、存储成本与开发规范上实现了精确的量化收益: 执行时耗大幅缩减: 摒弃了原先 整体对比 HBase 平均拥有约 40% 左右的压缩率提升(对比 InnoDB 引擎最高可达 5% 的压缩率),从根本上遏制了历史数据堆积带来的硬件成本扩张。

    10700编辑于 2026-05-30
  • 来自专栏踏歌行的专栏

    Hbase-2.0.0_04_Hbase原理 1.1. Hbase特性:

    参考博客:Hadoop HBase概念学习系列 参考博客:Hadoop HBase概念学习系列之HBase里的Zookeeper(二十一) 参考博客:Hadoop HBase概念学习系列之HBase里的客户端和 HBase集群建立连接(详细)(十四) 参考博客:Hadoop HBase概念学习系列之META表和ROOT表(六) 参考博客:Hadoop HBase概念学习系列之HBase里的HRegion(五) 参考博客:Hadoop HBase概念学习系列之HLog(二) 参考博客:Hadoop HBase概念学习系列之HRegion服务器(三) 参考博客:Hadoop HBase概念学习系列之HMaster 服务器(四) 参考博客:ZooKeeper 原理及其在 Hadoop 和 HBase 中的应用 参考博客:HBase介绍和工作原理 参考博客:深入了解HBASE架构(转) 1. 9. Client请求 HBase客户端找到服务于特定行范围的RegionServers。它通过查询hbase:meta表来实现这一点。

    2.7K30发布于 2020-10-15
  • HBase 架构:HBase 数据模型和 HBase 读写机制

    HBase 架构:HBase 数据模型 众所周知,HBase是一个面向列的NoSQL数据库。虽然它看起来类似于包含行和列的关系数据库,但它不是关系数据库。 HBase 体系结构:HBase 体系结构的组件 HBase有三个主要组件,即HMaster Server,HBase区域服务器,区域和Zookeeper。 稍后,当我在本博客中向您解释HBase搜索机制时,我将解释这两者如何协同工作。 HBase 体系结构:元表 META 表是一个特殊的 HBase 目录表。 现在,让我告诉你写作是如何在HBase中进行的。其中涉及哪些组件,它们是如何参与的? HBase 架构:HBase 写入机制 下图说明了 HBase 中的写入机制。 到目前为止,我已经讨论了HBase的搜索,读取和写入机制。现在我们将看看HBase机制,它使HBase中的搜索,读取和写入变得快速。首先,我们将了解压缩,这是这些机制之一。

    2.2K10编辑于 2025-04-05
  • 领券