JAVA面试——Hbase(二)

简介: JAVA面试——Hbase

image.png

14.1.4.1. Client:

Client 包含了访问 Hbase 的接口,另外 Client 还维护了对应的 cache 来加速 Hbase 的

访问,比如 cache 的.META.元数据的信息。

14.1.4.2. Zookeeper:

Hbase 通过 Zookeeper 来做 master 的高可用、RegionServer 的监控、元数据的入口

以及集群配置的维护等工作。具体工作如下:

1. 通过 Zoopkeeper 来保证集群中只有 1 个 master 在运行,如果 master 异

常,会通过竞争机制产生新的 master 提供服务

2. 通过 Zoopkeeper 来监控 RegionServer 的状态,当 RegionSevrer 有异常的

时候,通过回调的形式通知 Master RegionServer 上下限的信息

3. 通过 Zoopkeeper 存储元数据的统一入口地址。

14.1.4.3. Hmaster

master 节点的主要职责如下:

1. 为 RegionServer 分配 Region

2. 维护整个集群的负载均衡

3. 维护集群的元数据信息发现失效的 Region,并将失效的 Region 分配到正常

RegionServer 上当 RegionSever 失效的时候,协调对应 Hlog 的拆分

14.1.4.4. HregionServer

HregionServer 直接对接用户的读写请求,是真正的“干活”的节点。它的功能概括如

下:

1. 管理 master 为其分配的 Region

2. 处理来自客户端的读写请求

3. 负责和底层 HDFS 的交互,存储数据到 HDFS

4. 负责 Region 变大以后的拆分

5. 负责 Storefile 的合并工作

14.1.4.5. Region 寻址方式(通过 zookeeper .META)

第 1 步:Client 请求 ZK 获取.META.所在的 RegionServer 的地址。

第 2 步:Client 请求.META.所在的 RegionServer 获取访问数据所在的 RegionServer 地

址,client 会将.META.的相关信息 cache 下来,以便下一次快速访问。

第 3 步:Client 请求数据所在的 RegionServer,获取所需要的数据

image.png

14.1.4.6. HDFS

HDFS 为 Hbase 提供最终的底层数据存储服务,同时为 Hbase 提供高可用(Hlog 存储在

HDFS)的支持。

image.png

获取 RegionServer

第 1 步:Client 获取数据写入的 Region 所在的 RegionServer

请求写 Hlog

第 2 步:请求写 Hlog, Hlog 存储在 HDFS,当 RegionServer 出现异常,需要使用 Hlog 来

恢复数据。

请求写 MemStore

第 3 步:请求写 MemStore,只有当写 Hlog 和写 MemStore 都成功了才算请求写入完成。

MemStore 后续会逐渐刷到 HDFS 中

14.1.5.2. MemStore 刷盘

为了提高 Hbase 的写入性能,当写请求写入 MemStore 后,不会立即刷盘。而是会等到一

定的时候进行刷盘的操作。具体是哪些场景会触发刷盘的操作呢?总结成如下的几个场景:13/01/2022

Page 188 of 283

全局内存控制

1. 这个全局的参数是控制内存整体的使用情况,当所有 memstore 占整个 heap 的最大比

例的时候,会触发刷盘的操作。这个参数是

hbase.regionserver.global.memstore.upperLimit,默认为整个 heap 内存的 40%。

但这并不意味着全局内存触发的刷盘操作会将所有的 MemStore 都进行输盘,而是通过

另外一个参数 hbase.regionserver.global.memstore.lowerLimit 来控制,默认是整个

heap 内存的 35%。当 flush 到所有 memstore 占整个 heap 内存的比率为 35%的时

候,就停止刷盘。这么做主要是为了减少刷盘对业务带来的影响,实现平滑系统负载的

目的。

MemStore 达到上限

2. 当 MemStore 的大小达到 hbase.hregion.memstore.flush.size 大小的时候会触发刷

盘,默认 128M 大小

RegionServer Hlog 数量达到上限

3. 前面说到 Hlog 为了保证 Hbase 数据的一致性,那么如果 Hlog 太多的话,会导致故障

恢复的时间太长,因此 Hbase 会对 Hlog 的最大个数做限制。当达到 Hlog 的最大个数

的时候,会强制刷盘。这个参数是 hase.regionserver.max.logs,默认是 32 个。

手工触发

4. 可以通过 hbase shell 或者 java api 手工触发 flush 的操作。

关闭 RegionServer 触发

5. 在正常关闭 RegionServer 会触发刷盘的操作,全部数据刷盘后就不需要再使用 Hlog 恢

复数据。

Region 使用 HLOG 恢复完数据后触发

6. :当 RegionServer 出现故障的时候,其上面的 Region 会迁移到其他正常的

RegionServer 上,在恢复完 Region 的数据后,会触发刷盘,当刷盘完成后才会提供给

业务访问。

14.1.6. HBase vs Cassandra

image.png


目录
相关文章
|
9月前
|
缓存 Java 关系型数据库
2025 年最新华为 Java 面试题及答案,全方位打造面试宝典
Java面试高频考点与实践指南(150字摘要) 本文系统梳理了Java面试核心考点,包括Java基础(数据类型、面向对象特性、常用类使用)、并发编程(线程机制、锁原理、并发容器)、JVM(内存模型、GC算法、类加载机制)、Spring框架(IoC/AOP、Bean生命周期、事务管理)、数据库(MySQL引擎、事务隔离、索引优化)及分布式(CAP理论、ID生成、Redis缓存)。同时提供华为级实战代码,涵盖Spring Cloud Alibaba微服务、Sentinel限流、Seata分布式事务,以及完整的D
499 1
|
6月前
|
算法 Java
50道java集合面试题
50道 java 集合面试题
|
8月前
|
缓存 Java API
Java 面试实操指南与最新技术结合的实战攻略
本指南涵盖Java 17+新特性、Spring Boot 3微服务、响应式编程、容器化部署与数据缓存实操,结合代码案例解析高频面试技术点,助你掌握最新Java技术栈,提升实战能力,轻松应对Java中高级岗位面试。
592 0
|
8月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
379 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
6月前
|
算法 Java
50道java基础面试题
50道java基础面试题
|
9月前
|
算法 架构师 Java
Java 开发岗及 java 架构师百度校招历年经典面试题汇总
以下是百度校招Java岗位面试题精选摘要(150字): Java开发岗重点关注集合类、并发和系统设计。HashMap线程安全可通过Collections.synchronizedMap()或ConcurrentHashMap实现,后者采用分段锁提升并发性能。负载均衡算法包括轮询、加权轮询和最少连接数,一致性哈希可均匀分布请求。Redis持久化有RDB(快照恢复快)和AOF(日志更安全)两种方式。架构师岗涉及JMM内存模型、happens-before原则和无锁数据结构(基于CAS)。
263 5
|
9月前
|
安全 Java API
2025 年 Java 校招面试常见问题及详细答案汇总
本资料涵盖Java校招常见面试题,包括Java基础、并发编程、JVM、Spring框架、分布式与微服务等核心知识点,并提供详细解析与实操代码,助力2025校招备战。
431 1
|
8月前
|
缓存 Java 关系型数据库
Java 面试经验总结与最新 BAT 面试资料整理含核心考点的 Java 面试经验及最新 BAT 面试资料
本文汇总了Java面试经验与BAT等大厂常见面试考点,涵盖心态准备、简历优化、面试技巧及Java基础、多线程、JVM、数据库、框架等核心技术点,并附实际代码示例,助力高效备战Java面试。
324 0
|
8月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
878 0