HBase原理和操作

目录

  • 一、HBase在Zookeeper中的存储
    • 元数据信息
    • 集群状态信息
  • 二、HBase的操作
    • Web Console
    • 命令行操作
  • 三、HBase中数据的保存过程

一、HBase在Zookeeper中的存储

元数据信息

HBase的元数据信息是HBase集群运行所必需的关键数据,它存储在Zookeeper的"/hbase"目录下。这些元数据信息包括:

  1. 表的结构:表的定义、列族(Column Family)信息等。
  2. Region的分布:Region是HBase中数据分布的基本单位,每个Region包含了一定范围的数据行。Zookeeper中存储了Region的分布信息,即每个Region当前由哪个RegionServer负责管理。
  3. Region Server的状态:RegionServer是HBase中负责存储和管理Region的节点。Zookeeper记录了RegionServer的健康状态、地址等信息,这对于HBase的负载均衡和故障恢复至关重要。

集群状态信息

除了元数据信息外,Zookeeper还负责维护HBase集群的状态信息,这些信息对于集群的稳定运行和高效管理非常关键。集群状态信息包括但不限于:

  1. Master节点的状态:Master节点是HBase集群中的管理节点,负责协调集群的整体运作。Zookeeper中存储了当前活跃的Master节点信息,以及备份Master节点的信息,以支持Master节点的高可用性。
  2. Region Server的健康状态:如前所述,Zookeeper实时监控Region Server的健康状态,并在必要时触发故障恢复流程。
  3. Region的迁移和状态变更:在HBase集群中,Region可能会因为负载均衡、故障恢复等原因发生迁移或状态变更(如从online状态变为offline状态)。这些变更信息也会被记录在Zookeeper中,以便集群中的其他组件能够感知并作出相应的响应。

二、HBase的操作

Web Console

端口:16010
使用时,请关闭防火墙

192.168.80.111:16010

命令行操作

此处仅提供基本的操作命令

  1. 创建表 create 'student','info','grade'
    查看所有表list
    查看表结构describe 'student' desc 'student'

  2. 插入数据put put 'student','s01','info:name','Tom'
    put 'student','s01','info:age','24'
    这两个代码最后操作的是同一个数据实体s01行

  3. 查询数据scan,get
    scan 相当于select * from student,允许设置其他的过滤器
    scan 'student'
    get 通过行键查询
    get 'student','s01'

  4. 清空表中的数据truncate 'student',本质是删除重建表

  5. 删除表disable 'student'
    drop 'student'

三、HBase中数据的保存过程

HBase数据保存的过程大致可以分为以下几个步骤:

写入WAL(Write Ahead Log):
当客户端向HBase写入数据时,首先会将数据写入WAL(预写日志)。WAL是一个关键的安全机制,确保在Region
Server宕机时,可以从WAL中恢复数据,防止数据丢失。WAL数据存储在HDFS上。 写入MemStore:
写入WAL后,数据接着被写入到Region
Server中的MemStore。MemStore是一个有序的内存缓冲区,用于缓存还未被持久化到磁盘的数据。每个Region的每个列族(Store)都有一个MemStore。
Flush到HFile:
当MemStore中的数据量达到设定的阈值时(如默认128MB),会触发Flush操作,将数据写入到HDFS上的HFile文件中。HFile是HBase中用于存储数据的文件格式,数据在HFile中按照RowKey排序。
Compact合并:
随着数据的不断写入,HFile文件的数量会逐渐增加。为了优化查询性能和存储效率,HBase会定期执行Compact合并操作,将多个HFile文件合并成一个或少数几个较大的HFile文件。

Region分裂是HBase自动进行负载均衡和数据分片的一种机制。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/406059.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构——链式队列和循环队列

目录 引言 队列的定义 队列的分类 1.单链表实现 2.数组实现 队列的功能 队列的声明 1.链式队列 2.循环队列 队列的功能实现 1.队列初始化 (1)链式队列 (2)循环队列 (3)复杂度分析 2.判断队列是否为空 (1)链式队列 (2)循环队列 (3)复杂度分析 3.判断队列是否…

【具体数学 Concrete Mathematics】1.1.2 平面上的直线

【具体数学 Concrete Mathematics】1.1.2 平面上的直线

Django 第一课 -- 简介

目录 一. 基本介绍 二. 特点 三. MVC 与 MTV 模型 3.1. MVC 模型 3.2. MTV 模型 一. 基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 Django 是一个高级的 Python Web 框架,用于快速开发可维护和可扩展的 Web 应用程序。 使用 Dja…

计算机毕业设计Python深度学习房价预测 房价可视化 链家爬虫 房源爬虫 房源可视化 卷积神经网络 大数据毕业设计 机器学习 人工智能 AI

基于python一/二手房数据爬虫分析预测系统可视化 商品房数据Flask框架(附源码) 项目介绍 技术栈: python语言、Flask框架、MySQL数据库、Echarts可视化 sklearn机器学习 多元线性回归预测模型、requests爬虫框架 链家一手房 一手房数据商品房…

docker连接宿主机redis,提示Connection refused

目录 一、测试环境 二、问题现象 三、问题总结 一、测试环境 centos 7 redis-5.0.14 docker-26.0.1 二、问题现象 服务器重启后docker连接宿主机redis,提示Connection refused Reconnecting, last destination was /172.25.xxx.x:6379 …

VMware vSphere Client无法访问和连接ESXi虚拟主机解决思路

文章目录 前言1. 问题现象2. 问题原因3. 解决方法4. 参考文章 前言 注意 : 可以先看看参考文章那里,在回过来看 1 、 2 、3 1. 问题现象 版本:VMware vCenter Server 5.5.0 build-2442329 问题描述:用VMware vSphere Client 登录ESXI主机出…

状态压缩、记忆化搜索---蒙德里安的梦想

291. 蒙德里安的梦想 - AcWing题库 求把 NMNM 的棋盘分割成若干个 1212 的长方形,有多少种方案。 例如当 N2,M4N2,M4 时,共有 55 种方案。当 N2,M3N2,M3 时,共有 33 种方案。 如下图所示&…

[数据集][目标检测]瞳孔虹膜检测数据集VOC+YOLO格式8768张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):8768 标注数量(xml文件个数):8768 标注数量(txt文件个数):8768 标注…

【微信小程序】自定义组件 - 数据、方法和属性

1. data 数据 2. methods 方法 在小程序组件中,事件处理函数和自定义方法需要定义到 methods 节点中,示例代码如下: 3. properties 属性 在小程序组件中,properties 是组件的对外属性,用来接收外界传递到组件中的数…

[Algorithm][贪心][跳跃游戏][加油站][单调递增的数字][坏了的计算器]详细讲解

目录 1.跳跃游戏1.题目链接2.算法思路详解3.代码实现 2.加油站1.题目链接2.算法原理详解3.代码实现 3.单调递增的数字1.题目链接2.算法原理详解3.代码实现 4.坏了的计算器1.代码实现2.算法原理详解3.代码实现 1.跳跃游戏 1.题目链接 跳跃游戏 2.算法思路详解 贪心&#xff1…

记忆化搜索与状态压缩:优化递归与动态规划的利器

记忆化搜索是解决递归和动态规划问题的一种高效优化技术。它结合了递归的灵活性和动态规划的缓存思想,通过保存已经计算过的子问题结果,避免了重复计算,大幅提升了算法的效率。当问题状态复杂时,状态压缩技术可以进一步优化空间使…

Java数组05:Arrays类

本节内容视频链接:Java数组07:Arrays类讲解_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV12J41137hu?p57&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 Java中的‌Array类是一个针对数组进行操作的工具类,‌提供了排序、‌…

算法_字符串专题---持续更新

文章目录 前言最长公共前缀题目要求题目解析代码如下 最长回文子串题目要求题目解析代码如下 二进制求和题目要求题目解析 字符串相乘题目要求题目解析代码如下 前言 本文将会向你介绍有关字符串的相关题目:最长公共前缀、最长回文子串、二进制求和、字符串相乘。本…

GDB的基本使用(1)

我有话说 因为时间和精力原因,本文写的虎头蛇尾了,除了启动调试与程序执行以外只有少量截图演示,只是简单的说明。如果有需要可以联系我,我有时间的话会把演示补上,谢谢理解。 启动调试与程序执行 启动调试并传递参数…

linux环境下通过源码编译的方式安装mysql8.0.16版本

文章目录 前言一、资源准备1.源码下载2.依赖命令安装2.1 安装依赖包2.2 安装高版本gcc2.3 安装高版本cmake 二、编译安装mysql1.解压mysql-boost-8.0.16安装包2.执行编译命令3.执行make命令4.执行make install 命令5.编译安装完成后结果检查 三、初始化mysql1. 创建数据相关目录…

在ubuntu16.04下使用词典工具GoldenDict

前言 本来要装有道词典,结果发现各种问题,放弃。 网上看大家对GoldenDict评价比较高,决定安装GoldenDict 。 安装 启动 添加词库 GoldenDict本身并不带词库,需要查词的话,必须先下载离线词库或者配置在线翻译网址才…

SQL每日一练-0816

今日SQL题:计算每个项目的年度收入增长率 难度系数:🌟☆☆☆☆☆☆☆☆☆ 1、题目要求 计算每个项目每年的收入总额,并计算项目收入环比增长率。找出每年收入增长率最高的项目。输出结果显示年份、项目ID、项目名称、项…

OD C卷 - 查找一个有向网络的头节点和尾节点

查找一个有向网络的头节点和尾节点 (200) 在一个有向图中,有向边用两个整数表示,第一个整数表示起始节点,第二个整数表示终止节点;图中只有一个头节点,一个或者多个尾节点;图可能存…

RTX 40全系10款显卡《黑神化:悟空》测试:打开DLSS3帧生成 性能直翻4倍

一、前言:《黑神话:悟空》临近发布 RTX 40系显卡表现如何? 2020年8月20日,游戏科学发布了《黑神话:悟空》的首个实机演示预告,惊艳了整个游戏行业! 以往,很多人认为国产开发商做不出…

华为数通方向HCIP-DataCom H12-821题库(更新单选真题:1-10)

第1题 1、下面是一台路由器的部分配置,关于该配置描述正确的是? [HUAWEllact number 2001 [HUAWEl-acl-basic-2001]rule 0 permit source 1.1.1.1 0 [HUAWEl-acl-basic-2001]rule 1 deny source 1.1.1.0 0 [HUAWEl-acl-basic-2001]rule