HBase高手之路6—HBase高可用

news2024/12/24 11:26:36

文章目录

  • HBase的高可用
    • 一、HBase高可用简介
    • 二、搭建HBase的高可用
      • 1.在HBase的conf文件夹中创建一个backup-masters的文件
      • 2.修改backup-masters,添加作为备份master的节点信息
      • 3.分发backup-masters文件到其他的服务器
      • 4.重新启动HBase
      • 5.查看web ui
    • 三、测试高可用
      • 1.尝试杀掉hadoop001的HMaster进程,模拟hadoop001宕机
      • 2.查看hadoop001的web ui
      • 3.再查看hadoop003的web ui
      • 4.进入HBase shell,可以继续使用
      • 5.再次运行Java api程序,查看结果
    • 四、高可用原理
    • 五、HBase的高可用架构及原理
      • 1.系统架构
      • 2.Client
      • 3.Master Server
      • 4.Region Server
      • 5.Region
      • 6. Store
      • 7. MemStore
      • 8. StoreFile
      • 9. WAL

image-20230220084553544

HBase的高可用

一、HBase高可用简介

HBase集群如果只有一个master,一旦master出现故障,将导致整个集群无法使用,所以在实际的生产环境中,需要搭建HBase的高可用,也就是让HMaster高可用,也就是需要再选择一个或多个节点也作为HMaster,但是只有一个是active,其他的都为backup master当active的master宕机时,从backup master中选举一个作为active。

二、搭建HBase的高可用

1.在HBase的conf文件夹中创建一个backup-masters的文件

进入conf目录下:

image-20230419161817805

新建文件:

image-20230419161936836

2.修改backup-masters,添加作为备份master的节点信息

修改backup-masters:

image-20230419162111902

添加备份节点:

image-20230419163234787

3.分发backup-masters文件到其他的服务器

image-20230419163338288

4.重新启动HBase

查看 hadoop001:

image-20230419163810020

查看hadoop002:

image-20230419162629587

查看 hadoop003:

image-20230419163430889

5.查看web ui

image-20230419163453751

备份节点:

image-20230419163535449

查看hadoop002:

image-20230419163702752

查看hadoop003:

三、测试高可用

1.尝试杀掉hadoop001的HMaster进程,模拟hadoop001宕机

image-20230419163843528

2.查看hadoop001的web ui

image-20230419164028477

3.再查看hadoop003的web ui

发现hadoop003成为新的Master:

image-20230419164125499

查看备用节点:

image-20230419164142422

hadoop003已启用,所以备用节点还剩hadoop002。

4.进入HBase shell,可以继续使用

虽然我们把hadoop001的HMaster进程给删除了,但是可以在hadoop001上继续使用HBase shell:

image-20230419164405027

5.再次运行Java api程序,查看结果

运行Java api 程序,程序可以正常运行:

image-20230419164737535

四、高可用原理

zookeeper临时节点 + watch + select

image-20230419170807406

五、HBase的高可用架构及原理

1.系统架构

image-20230419172513024

2.Client

客户端,例如:发出HBase操作的请求。例如:之前我们编写的Java API代码、以及HBase shell,都是CLient。

3.Master Server

image-20230419173935215

作用:

  • 监控RegionServer
  • 处理RegionServer的故障
  • 处理元数据的变更
  • 处理region的分配或移除
  • 处理负载均衡
  • 通过zookeeper发布自己的状态信息

4.Region Server

  • 处理分配给它的Region

  • 负责存储HBase的实际数据

  • 刷新缓存到HDFS

  • 维护HLog

  • 执行压缩

  • 负责处理Region分片

  • RegionServer中包含了大量丰富的组件,如下:

    • Write-Ahead logs
    • HFile(StoreFile)
    • Store
    • MemStore
    • Region

image-20230419174204409

5.Region

在HBASE中,表被划分为很多「Region」,并由Region Server提供服务

image-20230419174351596

image-20230419174501260

6. Store

Region按列簇垂直划分为Store,存储在hdfs的HFile中

7. MemStore

  • MemStore与缓存内存类似
  • 当往HBase中写入数据时,首先是写入到MemStore
  • 每个列族将有一个MemStore
  • 当MemStore存储快满的时候,整个数据将写入到HDFS中的HFile中

8. StoreFile

  • 每当任何数据被写入HBASE时,首先要写入MemStore
  • 当MemStore快满时,整个排序的key-value数据将被写入HDFS中的一个新的HFile中
  • 写入HFile的操作是连续的,速度非常快
  • 物理上存储的是HFile

9. WAL

  • WAL全称为Write Ahead Log,它最大的作用就是 故障恢复
  • WAL是HBase中提供的一种高并发、持久化的日志保存与回放机制
  • 每个业务数据的写入操作(PUT/DELETE/INCR),都会保存在WAL中
  • 一旦服务器崩溃,通过回放WAL,就可以实现恢复崩溃之前的数据
  • 物理上存储是Hadoop的Sequence File

AL全称为Write Ahead Log,它最大的作用就是 故障恢复

  • WAL是HBase中提供的一种高并发、持久化的日志保存与回放机制
  • 每个业务数据的写入操作(PUT/DELETE/INCR),都会保存在WAL中
  • 一旦服务器崩溃,通过回放WAL,就可以实现恢复崩溃之前的数据
  • 物理上存储是Hadoop的Sequence File

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

辉煌优配|黄金价格创近两年半新高!2只黄金股一季度预增

黄金板块早盘走强。 4月14日早盘,黄金板块团体走高,次新股四川黄金开盘半小时内拉升至涨停,封单资金到达7279.78万元,中润资源、晓程科技涨幅居前,分别为8.96%、8.48% 消息面上来看,近期全球黄金期货价格节…

Matlab进阶绘图第17期—气泡热图

气泡热图是一种特殊的热图(Heatmap)。 与传统热图相比,气泡热图利用不同颜色、不同大小的圆形表示数据的大小,可以更加直观地对矩阵数据进行可视化表达。 本文使用自制的bubbleheatmap小工具进行气泡热图的绘制,先来…

AttributeError: ‘LTP‘ object has no attribute ‘init_dict‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【刷题】小技巧

好久没更了 写天梯模拟L1都有题不能AC&#xff0c;是什么品种的蒟蒻 L1-7 谷歌的招聘 题目详情 - L1-7 谷歌的招聘 (pintia.cn) 自己写半天都是Segmentation Fault&#xff0c; 学习一下几个函数叭// 1.substr&#xff08;&#xff09;函数 获取子串 #include<bits/st…

OpenCV 安卓编程示例:1~6 全

原文&#xff1a;OpenCV Android Programming By Example 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 计算机视觉 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 当别人说你没有底线的时候&#xff0c;…

国产AI软件,10年前已出现,Excel表格变软件,用友用户:有救了

10年前&#xff0c;国产AI软件已经出现 在国内&#xff0c;我们早在10年就已经有AI软件&#xff0c;而且现在还在使用。 10年前&#xff0c;这款软件跟现在市面上流行的ChatGPT和文心一言相比&#xff0c;最为先进的是&#xff1a;不根本用写代码&#xff0c;只要会画表格就可…

【Docker01】入门

目录 概述 Docker平台 Docker可以做什么 快速、一致地交付应用程序 响应式部署和扩展 在同一硬件上运行更多工作负载 Docker架构 Docker守护程序&#xff08;The Docker daemon&#xff09; Docker客户端&#xff08;The Docker client&#xff09; Docker桌面&#x…

KingSCADA3.8保姆级安装教程

大家好&#xff0c;我是雷工&#xff01; 最近开始学习KingSCADA&#xff0c;今天这篇详细记录安装KingSCADA3.8的过程。 首先下载需要的安装版本&#xff0c;此处以从官网下载的最新版本KingSCADA3.8为例&#xff0c;双击&#xff1a;Setup.exe ; 一、安装主程序 1、点击“…

电脑端(PC)按键精灵2013——入门小白 详细 教程

电脑端(PC)按键精灵——1.入门详细说明&#xff1a; 本篇幅介绍的按键精灵的下载和安装&#xff1b;如果已经安装则直接看下面命令内容 电脑端(PC)按键精灵——2.键盘命令和鼠标命令 电脑端(PC)按键精灵——3其他命令 电脑端(PC)按键精灵——4.控制命令&#xff08;判断、循…

使用华为云免费资源训练Paddle UIE模型

一、创建虚拟环境 好习惯&#xff0c;首先创建单独的运行环境 conda create -n uie python3.10.9 conda activate uie 二、安装paddle框架及paddlenlp 2.1 参考官方文档安装paddle 开始使用_飞桨-源于产业实践的开源深度学习平台 首先查看自己服务器cuda版本&#xff0c;…

redis_5种数据结构及其底层实现原理详解

1、 redis中的数据结构 Redis支持五种数据类型&#xff1a;string&#xff08;字符串&#xff09;&#xff0c;hash&#xff08;哈希&#xff09;&#xff0c;list&#xff08;列表&#xff09;&#xff0c;set&#xff08;无序集合&#xff09;及zset(有序集合) 在秒杀项目里…

LED显示屏有色差要怎么处理?

LED显示屏在销售的时候不可避免的会产生尾货。这些尾货由于是不同批次的产品&#xff0c;亮度不可避免的有差异&#xff0c;拼装之后显示效果不佳&#xff0c;这时候就必须使用逐点校正技术。你知道LED显示屏的亮度和对比度是如何调节的吗&#xff1f; 消除差异逐点校正是一项用…

winForm常用控件

一般控件 Label TextBox&#xff1a;文本框 Button RadioButton CheckBox ComboBox:下拉框 CheckedListBox:带复选框的列表项 DateTimePicker:日期时间选择控件 ListBox:列表项 ListView:以五种不同视图显示项的集合 MaskedTextBox:格式化文本框 MonthCalendar:月历 NumberIcUp…

选择Zoho CRM的三大原因

上周&#xff0c;美国IT杂志PCMag发布了关于CRM系统的新评价&#xff0c;Salesforce Sales Cloud Lightning Professional、Zoho CRM、HubSpot CRM、Zendesk、SugarCRM等多个CRM品牌上榜。借此机会&#xff0c;我们来说说Zoho CRM为什么值得推荐&#xff1f; PCMag&#xff0c…

答对这道面试题,直接原地入职:说一下公司常用MySQL分库分表方案

一、数据库瓶颈 不管是IO瓶颈&#xff0c;还是CPU瓶颈&#xff0c;最终都会导致数据库的活跃连接数增加&#xff0c;进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是&#xff0c;可用数据库连接少甚至无连接可用。接下来就可以想象了吧&#xff08;并发…

XML概述和编写文件

XML概述 XML是一种可扩展的标记语言 标记语言&#xff1a;通过标签来描述数据的一门语言&#xff08;标签有时我们也将其称之为元素&#xff09; 可扩展&#xff1a;标签的名字是可以自己定义的 语法规则示例代码是由一对尖括号和一组合法标识符组成<student>在xml标…

CDN在流媒体的如何内容交付

流媒体是当今最大的趋势之一&#xff0c;这是一种全新的内容消费方式&#xff0c;涉及特定的技术和挑战&#xff0c;视频是目前互联网上要求最多的内容格式&#xff0c;使用CDN分发视频需要与分发其他内容不同。 视频作为内容的本质是不同的&#xff0c;因为用户通常希望立即观…

机器学习入门实例-MNIST手写数据集-二分分类效果评估

接上文的Binary Classifier&#xff0c;将数据分成“是2”和“非2”两类。 Performance Measures 分类效果评价方法 Accuracy&#xff08;准确性&#xff09; y_train_2 (y_train 2) ... from sklearn.linear_model import SGDClassifier sgd_clf SGDClassifier(random_s…

连锁店销售管理系统有哪些功能?应该如何选购?

不管是直营还是加盟&#xff0c;想要实现门店的精细化管理&#xff0c;把不同门店的业绩做好&#xff0c;离不开连锁店销售管理系统的支持。 一款真正能够为连锁店经营带来帮助的连锁店销售管理系统应该具备哪些基本功能&#xff0c;以及选择连锁店销售管理系统时有哪些常见的问…

【科研工具】Zotero实现自动翻译

科研党基本都用过Zotero吧&#xff0c;方便文件管理和做笔记。我常使用的一款插件&#xff0c;可以实现paper英文内容的自动翻译为中文&#xff0c;非常简单、好用&#xff0c;现推荐给大家。 目录 一、下载zotero-pdf-translate插件 1.1 登录GitHub 1.2 找到.xpi文件并下载…