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

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.将硬件允许的情况下给予足够多的内存给他。

相关文章:

  • Web开发实战:HTML+CSS+JS期末复习全梳理
  • 设计模式——抽象工厂设计模式(创建型)
  • BFD 基本工作原理与实践:如何与 VRRP 联动实现高效链路故障检测?
  • 使用PowerBI个人网关定时刷新数据
  • Springcloud Alibaba自定义负载均衡详解
  • ESP8266常用指令
  • Kerberos面试内容整理-会话密钥的协商与使用
  • 华为OD机试真题——生成哈夫曼树(2025A卷:100分)Java/python/JavaScript/C/C++/GO六种最佳实现
  • 华为OD机试真题——模拟消息队列(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 工业物联网中的事件驱动采样架构及优化
  • 墨香阁小说阅读前端项目
  • 基于Sqoop的MySQL-Hive全量/增量同步解决方案(支持多表批量处理
  • 训练中常见的运动强度分类
  • 大语言模型值ollama使用(1)
  • WPS快速排版
  • uni-app学习笔记十六-vue3页面生命周期(三)
  • 【Java】分页工具类
  • Kafka ACK机制详解:数据可靠性与性能的权衡之道
  • 让大模型看得见自己的推理 — KnowTrace结构化知识追踪
  • SOC-ESP32S3部分:21-非易失性存储库
  • 怎么做网站后台界面/百度搜索官方网站
  • 成都专业手机网站建设服务/seo排名优化推广报价
  • 帝国网站数据库配置文件/明年2024年有疫情吗
  • 2022年深圳疫情回顾/pc网站优化排名
  • 网站开发技术html/seo提升排名
  • 网站建设的七个步骤/百度信息流广告怎么收费