当前位置: 首页 > ds >正文

Hbase

       HBASE

                hbase是一个分布式的基于列式存储Nosql数据库,基于Hadoop的hdfs存储,zookeeper进行管理;适合存储半结构化或者非结构话数据,

        1.hbase的原理?

                hbase主要是通过LSM-tree算法,是将一个大树拆封为多个小树,在内存中将一个个小树进行合并,当小树进行合并,当到达一定数量,就会刷新到磁盘中,磁盘中数据合并到一定程度就会变成Hfile。

        2.hbase的写过程?

                Hbase写过程重要事通过Zoopkeer找到对应的regoin区域,通过内存将数据存储进行合并,在内存中是存储在Store文件中的,当内存中store文件达到一定大小,就会将其flush到磁盘中,生成一个小的HFile文件,随着文件越来越多就进行合并成一个大的HFile文件。

        3.hbase的读过程?

                Hbase中要通过zooKeeper知道regoin存储区域,然后通过客户端请求的rowkey,进行查询,如果在缓存中查到直接返回数据,如果没有则在regoin的FIile文件寻找到,如果结果在多个文件中存在,则需要将结果集合进行返回。

        4.hbase的优化?

                1.生成合理的rowkey。

                2.建立预分区。

                2.在配置文件中进行HDFS系统参数配置,入并发线程数量,rpc的连接数量和时间长度。

        5.hbase的rowkey的生成原则?

                1.唯一性:必须rowkey必须是唯一,不然数据会覆盖。

                2.长度要有限制,最大长度为64kb,不易超过16字节。

                2散列原则:不然会产生热点问题。

           5.1 热点问题

                        是在同一时间端内有大量数据,存储在同一个region中,导致服务宕机。

           5.2 如何解决热点问题?

                1.加盐:将生成随机树放在高位。 

                2.反转:反转固定长度的数字格式的数据。

                3哈希:将哈希放到高位。

        6.hbase的高可用?

                1.要保证数据不能丢失,在数据存储在磁盘中Hfile的过程,也将数据存储早Hlog中一份,保证数据可以恢复。

                2.服务不能中断,通过zoopkeer进行监控个个每个服务,当region  server有问题,首先region server 会停止对外访问,zookpeet 会协调Hmaser和通信,HMaster会将region server 对应映射的数据转移其他服务上进行对外提供。

        7.hbase的合并?

                compact: minor和major

                minor:只是用来做部分的文件的合并以及包括minVersion=0 并且设置ttl的过去版本清理,不做任何删除数据,多版本数据的清理工作。

                major:是对region下的Hstore的所有StroeFile执行合并操作,最总整合合成一个文件。

        8.region设置大小为多少?

                256M,因为设置小导致写入的压力,region反复进行刷新数据,设置大导致长期不刷新,服务有问题数据丢失,还会导致数据分布不均衡,导致某个region数据特别多,某些region特别少。

        9.如何提高Hbase的读写性能?

               1.修改hbase-env.sh中的export HBASE_HEAPSIZE=3000

               2.增大RP数量:hbase-site.xml 中的hbase,redionServer.handler.count属性 改大数量。

               3.将硬件允许的情况下给予足够多的内存给他。

http://www.xdnf.cn/news/10424.html

相关文章:

  • 如何真正实现软件开发“快”起来:破除误区与落地实践
  • 通义灵码深度实战测评:从零构建智能家居控制中枢,体验AI编程新范式
  • 新版智慧景区信息化系统解决方案
  • JOIN 与子查询的性能对比分析
  • 【shell】通过Shell命令占用内存
  • 【代码坏味道】膨胀类 Bloaters
  • 力扣热题100之翻转二叉树
  • C++哈希表:unordered系列容器详解
  • day15 leetcode-hot100-28(链表7)
  • C++ —— B/类与对象(下)
  • 流媒体基础解析:从压缩到传输的基本了解
  • Linux研学-用户解析
  • Java Spring 之过滤器(Filter)详解与实战
  • Correlations氛围测试:文本或图像的相似度热图
  • 2024年ESWA SCI1区TOP,自适应学习灰狼算法ALGWO+无线传感器网络覆盖优化,深度解析+性能实测
  • DeepSeek 赋能数字孪生城市,筑牢应急管理智慧防线
  • day42 简单CNN
  • C++ list数据删除、list数据访问、list反转链表、list数据排序
  • HCIE-STP复习
  • C# 密封类和密封方法
  • simulink mask、sfunction和tlc的联动、接口
  • CSS专题之层叠上下文
  • 小明的Java面试奇遇之:支付平台高并发交易系统设计与优化[特殊字符]
  • [SC]SystemC在CPU/GPU验证中的应用(三)
  • 【2025年软考中级】第二章 2.1 程序设计语言的基本概念
  • 【C语言】讲解 程序分配的区域(新手)
  • 论文笔记: Urban Region Embedding via Multi-View Contrastive Prediction
  • C#数字图像处理(一)
  • 【Hot 100】55. 跳跃游戏
  • Unity3D仿星露谷物语开发57之保存库存信息到文件