前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HBase 整体介绍

HBase 整体介绍

作者头像
Freedom123
发布2024-03-29 08:31:18
1210
发布2024-03-29 08:31:18
举报
文章被收录于专栏:DevOpsDevOps

HBase: NoSQL数据库,基于HDFS的分布式数据库,理论上支持无限横向扩展, ?? ??? ?HBase由HMaster与RegionServer组成,HMaster负责协调调度RegionServer进行数据处理,RegionServer负责数据的增删改查操作,RegionServer由多台分布在DataNode的组成,可以有多个。由HMaster负责RegionServer的调度情况,当RegionServer出现异常情况,HMaster进行对MetaRegionServer中的元数据进行更新管理。 ?? ??? ?当HBase中表的数据不断变大时,表中数据会进行Region分区,分为Region1,Region2...等,RegionServer1负责Region1,RegionServer2负责Region2等;每个RegionServer负责哪个Region的数据区由MetaRegionServer管理,MetaRegionServer运行在多个RegionServer中的任意一个。 ?? ??? ?HBase数据存储在HDFS上的存储也是按照层级来管理的,不同的库对应不同的目录,库下不同的表亦对应不同的目录,表下不同的Region对应不同的目录,Region下存放这HBase上的数据,HBase的数据是经过特殊处理的,所以直接看不到数据内容 ?? ??? ?HMaster支持HA高可用,所以在HBase集群对应的HMaster和RegionServer都启动后,在其他的RegonServer上启动HMaster,则该HMaster为StandBy,第一次启动的为Active。 ?? ??? ?HBase底层接口处理起来会比较吃力,一般处理方式是应用其他工具进行处理,如Flume,Sqoop ?? ??? ?MySQL与Hive的区别 ?? ??? ??? ?MySQL:数据存储会受到限制,可以增删改查数据 ?? ??? ??? ?Hive:1. 只能进行查询数据,不能进行该数据,可以根据查询结果进行建表存储数据 ?? ??? ??? ??? ? ?2. 基于HDFS,支持分布式存储,可以无限扩容 ?? ??? ??? ??? ? ?3. 基于MapReduce,支持大数据运算 ?? ??? ?HBase与MySQL的区别?? ??? ??? ? ?? ??? ??? ?MySQL:行式存储,适合处理联机事务 ?? ??? ??? ?HBase:列式存储,适合处理对单列数据(列族归类的数据)进行快缩索引查询 ?? ??? ?HBase与Hive的区别?? ??? ? ?? ??? ??? ?HBase:数据库,数据分布式存储在HDFS上的DataNode节点上,根据对数据进行增删改查等。 ?? ??? ??? ?Hive:数据仓库,数据存储在HDFS上,与DataNodata 关系不大,管理历史数据,数据量会非常庞大,每天都会进来大量数据,不能进行更新删除操作, ?? ??? ?HBase概念 ?? ??? ??? ?HMaster: 协调管理RegionServer服务状态及元数据管理 ?? ??? ??? ?RegionServer: 负责对数据表的增删改差操作,主要负责单个Region的数据管理 ?? ??? ??? ??? ?RegionData:数据块 ?? ??? ??? ?MetaRegionServer: 对RegionSever上对应的Region数据块进行索引管理 ?? ??? ??? ?database 数据库 ?? ??? ??? ?table: 数据表,定义表时需要指定列族,也可以再表建立后进行列族的管理 ?? ??? ??? ?RowKey:行键,表示一行数据,一行数据中包含列族定义的东西, ?? ??? ??? ?ColumnFamily: 列族,对业务进行分类后,可以根据业务对数据进行分类,把业务类似的一类数据分为一个列族,不同的业务可以分为不同的列族。分列族的主要目的是方便后期对数据的高速索引. ?? ??? ??? ?CELL: 数据单元,保存单个KV字段. ?? ??? ?运行逻辑: ?? ??? ??? ?HMaster协调管理RegionServe,RegionServer主要负责处理Region数据块的处理,MetaRegionServer管理RegionServer对应Region数据的元数据信息。RegionServer服务异常时,HMaster进行元数据迁移,保证对Region数据的管理由对应的RegionServer来管理。 ?? ??? ??? ?MetaRegionServer管理的元数据信息保存在HDFS上。 ?? ??? ??? ?Client进行数据处理时,首先根据查询条件,通过MetaRegionServer获取到查询对应的RegionServer上,然后进行数据处理,Client不与HMaser进行交互,所以HMaser状态可以异常,不影响Client对RegionServer的使用。但是当RegionServer异常时,HMaster亦由于异常无法感知RegionServer的状态,这样会影像Client的数据处理。 ?? ??? ?HBase部署 ?? ??? ??? ?1. 首先需要部署HDFS,对MapReduce不特殊要求,可以不部署 ?? ??? ??? ?2. HBase上,HMaster及RegionServer,MetaRegionServer都是通过ZooKeeper来进行服务感知的,所以需要ZooKeeper部署, ?? ??? ??? ?3. 安装Java JDK/JRE ?? ??? ??? ?4. 在每个对应的DataNode上 解压HBase ?? ??? ??? ?5. 修改Hbase-env.xml (JAVA_HOME,ZK_ENABLE ),HBase-site.xml(zk路径) ?? ??? ??? ?6. 启动集群 ?? ??? ??? ?7. 启动HMaster(StandBy),保证HA,亦可以不启用 ?? ??? ?HBase Web端口 16010 ?? ??? ?HBase操作 ?? ??? ??? ?DDL: ?? ??? ??? ?create table 创建表 ?? ??? ??? ?drop table?? ?删除表 ?? ??? ??? ?modify table 修改表 ?? ??? ??? ?DML: ?? ??? ??? ?put data 增加数据 ?? ??? ??? ?delete data 删除数据 ?? ??? ??? ?get data 获取数据 ?? ??? ??? ?scan data 查询数据 ?? ??? ?HBaseClient ?? ??? ??? ?交互式客户端 ?? ??? ??? ??? ?Hbase shell 直接启动 ?? ??? ??? ?JavaClient ?? ??? ??? ??? ?DDL: ?? ??? ??? ??? ?1. 获取Connection ?? ??? ??? ??? ?2. 获取Admin ?? ??? ??? ??? ?DML: ?? ??? ??? ??? ?1. 获取Connection ?? ??? ??? ??? ?2. 获取Table

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com