四十七

首页新闻博问专区闪存班级                          我的博客我的园子账号设置退出登录注册登录努力的老刘 博客园首页新随笔联系订阅管理随笔 - 9  文章 - 0  评论 - 3 用大白话讲大数据HBase,老刘真的很用心(1) 老刘今天复习HBase知识发现很多资料都没有把概念说清楚,有很多专业名词一笔带过没有解释。比如这个框架高性能、高可用,那什么是高性能高可用?怎么实现的高性能高可用?没说!如果面试官听了你说的,会有什么反应?我的感觉就是你说的东西都是别人的,没有自己的理解。所以老刘才会写用大白话讲大数据这个系列,就是争取把东西讲清楚,讲明白!如果觉得老刘写得不错,给老刘点个赞吧!01 HBase知识点 第1点:HBase的定义 官网画红框中直接就说,HBase是一个分布式、可扩展的大数据存储Hadoop数据库。试想下,你是面试官,别人这样回答你,你会不会满意?老刘觉得学的东西要用自己的话讲出来,才是真正的掌握。在老刘看来,HBase,即Hadoop database,即Hadoop数据库。它的数据通常存储在HDFS上,HDFS为HBase提供了高可靠性的底层存储的支持;利用Hadoop MapReduce来处理HBase中的海量数据,为HBase提供了高性能的计算能力;利用ZooKeeper为HBase提供了稳定的服务。根据上述所说,就可以总结为HBase是一个建立在HDFS之上,具有高可靠、高性能、可扩展、支持海量数据存储的分布式数据库。一般是在存储数据比较大的时候,并且对读写性能要求比较高的时候,才会用到HBase数据库。那你们知道什么是读写性能比较高吗?那就是读的比较快、写的也比较快的时候,才是读写性能比较高!第2点:HBase的特点1)极易扩展HBase底层依赖HDFS,当磁盘空间不足的时候,我们只需要动态增加DataNode节点就可以了。当然也可以通过增加服务器来对集群的存储进行扩容。2)海量存储可以存储大批量的数据。在存储海量数据的前提下,能在几十到百毫秒内返回数据。这点和HBase的极易扩展性非常相关。正因为HBase良好的扩展性,才为海量数据的存储提供了便利。3)列式存储(这里一定要搞清楚列式存储和行式存储的区别)这里的列式存储其实说的是列族存储,HBase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须要指定了。4)稀疏稀疏主要是针对HBase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。5)数据类型单一它所有的数据都是以字节数组进行存储。第3点:HBase表的数据模型先给出一张HBase的设计表,根据这张表进行介绍表的结构。rowkey行键1)它是表(table)的主键,table中的记录按照rowkey的字典序进行排序,这里就必须要说说什么是字典序?有多机构的资料就是一笔带过,一点也不负责,让人非常不爽。老刘就不得不去搜搜字典序排序的相关知识。通俗地讲,字典序排序大概就是两个作比较的内容从第一个字母开始比较,按照ASCII码表比较大小,小的放在前面,第一个相同就比较下一个,都相同且一个比较完了,则短的排在前面。常见ASCII码的大小规则:09<AZ<a~z2)rowkey行键它可以是任意的字符串,其中它的最大长度是 64KB,实际应用中长度一般为 10-100bytes。Column Family列族1)HBase表中的每个列,都归属于某个列族。2)列族是表的schema的一部分(而列不是),即建表时至少指定一个列族。3)比如我们创建user表,包含info、data两个列族,代码就为create ‘user’, ‘info’, ‘data’。Column列列肯定是表的某一个列族下的一个列,用列族名:列名表示,比如info列族下的name列,就表示为info:name。Cell单元格如上图,我们通过指定rowkey行键、列族、列,就可以确定的一个Cell单元格。在Cell中的数据是没有任何类型的,全部都是以字节数组的形式进行存储的。Timestamp时间戳这个说的就是可以对表中的Cell多次赋值,每次赋值操作时的时间戳timestamp,可看成Cell值的版本号version number。也就是一个Cell可以有多个版本的值的意思。第4点:HBase架构从图中可以看出,这是一个非常典型的主从架构。下面详细说下各个组件:Client客户端Client它是操作HBase集群的入口,利用Client,在通过RPC与HMaster进行通信,可以完成表的增、删、改操作。也可以通过RPC与RegionServer通信,完成读写表数据的操作。一般我们可以利用HBase shell或者Java API进行编程,完成上述表的操作。ZooKeeper集群ZooKeeper是什么有什么用,老刘已经在ZooKeeper框架那篇文章中详细讲解了,大家可以去看看。那它在HBase集群中的作用,就非常明显了,① 它实现了HMaster的高可用,多HMaster间进行主备选举。② 保存了HBase的元数据信息meta表。③ 对HMaster和HRegionServer各个节点进行监控。HMasterHBase集群也是主从架构,HMaster是主角色,是集群的老大,主要负责管理表和Region。那它管理表和Region做一些什么呢?1)管理Client对表的增删改的一些操作;2)管理Region的操作就会比管理Client多一点。当Region分裂后,负责新Region分配到指定的HRegionServer上;当HRegionServer宕机后,负责其上的region的迁移;以及管理HRegionServer之间的负载均衡。那大家有没有了解负载均衡,什么是负载均衡?举个例子,一个网站最开始建立的时候,它的访问量比较小,但当它的流量变得特别大的时候,并发量就变得特别大了,网站就会出现访问延迟的一些现象。这个时候呢,就需要用到负载均衡了。以前这个网站是一个单一服务器,现在就可以配置多个服务器集群,那样就可以把访问流量分发到集群中的不同服务器上,这样就大大减少了单一服务器上的压力,也就是负载均衡想要做的事。HRegionServer它是HBase集群中从角色,是集群中的小弟。它主要负责响应客户端的读写数据请求,以及负责管理一系列的Region。Region它是HBase集群中分布式存储的最小单元,一个Region对应一个Table表的部分数据。简单理解就是表存储在HBase中,并且都是以Region为单位进行存储。第5点:HBase shell命令说一些常用的基础操作命令:创建user表,包含info、data两个列族
create ‘user’, ‘info’, ‘data’

使用put命令向user表中插入信息,row key为rk0001,列族info中添加名为name的列,值为zhangsan
put ‘user’, ‘rk0001’, ‘info:name’, ‘zhangsan’

获取user表中row key为rk0001的所有信息(即所有cell的数据)
get ‘user’, ‘rk0001’
获取user表中row key为rk0001,info列族的所有信息
get ‘user’, ‘rk0001’, ‘info’

更新数据操作 将user表的f1列族版本数改为5
alter ‘user’, NAME => ‘info’, VERSIONS => 5

删除数据以及删除表操作
删除user表row key为rk0001,列标示符为info:name的数据
delete ‘user’, ‘rk0001’, ‘info:name’

清空表数据
truncate ‘user’

删除表
首先需要先让该表为disable状态,使用命令:
disable ‘user’
然后使用drop命令删除这个表
drop ‘user’
注意:如果直接drop表,会报错:Drop the named table. Table must first be disabled再说一下HBase的高级操作命令:显示服务器状态
status ‘node01’

显示HBase当前用户
whoami

显示当前所有的表
list

统计指定表的记录数
count ‘user’

检查表是否存在,适用于表量特别多的情况
exists ‘user’

检查表是否启用或禁用
is_enabled ‘user’
is_disabled ‘user’

禁用一张表/启用一张表
disable ‘user’
enable ‘user’

删除一张表,记得在删除表之前必须先禁用
drop上述都是HBase shell命令的内容,还有用JAVA API进行表操作的内容,但是这部分老刘就不讲解了,有需要的话,可以联系老刘,我会分享给你。 02 HBase总结今天是HBase知识点的第一部分,老刘尽量用大白话讲这些知识点讲述出来了,如果还有疑问,可以联系公众号:努力的老刘。最后希望今天讲的内容对大数据感兴趣的同学有帮助,也希望能够得到大家的批评和指点。觉得写得还行的,给老刘点个赞! 在读研二学生,现在为进大厂努力,学习大数据开发。 有事,公众号:努力的老刘,联系老刘。 没事,就和老刘一起学习大数据。 分类: 大数据HBase知识点好文要顶 关注我 收藏该文 努力的老刘
关注 - 1
粉丝 - 1 +加关注 2 0

« 上一篇: 保证看完就会!大数据YARN核心知识点来袭! posted @ 2020-11-25 19:38  努力的老刘  阅读(89)  评论(1)  编辑  收藏

评论列表    回复 引用 #1楼 47527922020/11/25 下午11:20:352020-11-25 23:20 一往前行 加油,有些地方讲的不错 支持(0) 反对(0) 刷新评论刷新页面返回顶部

发表评论 【福利】注册AWS账号,立享12个月免费套餐 编辑预览 7693b08a-a8f6-49f3-f45a-08d88556cc23 Markdown 帮助自动补全 不改了退出 订阅评论 [Ctrl+Enter快捷键提交]

首页 新闻 博问 专区 闪存 班级 【推荐】News: 大型组态、工控、仿真、CADGIS 50万行VC++源码免费下载
【推荐】从零开始的RPG游戏制作教程,来《魔兽争霸III》共同成长
【推荐】了不起的开发者,挡不住的华为,园子里的品牌专区
【推荐】未知数的距离,毫秒间的传递,声网与你实时互动
【福利】AWS携手博客园为开发者送免费套餐与抵扣券
【推荐】阿里云返场期奖励继续,赢5万现金
相关博文:
· HBase
· 刘国立作业
· HBase(2)Java操作HBase教程
· HbasejavaAPItest
· HBase详解
» 更多推荐…最新 IT 新闻:
· 辛巴燕窝直播争议背后:主播到底是销售者还是广告代言人?
· 『牵手微软、拿下融资』小冰的商业化探索又释放了哪些信号?
· 摁住巨头:腾讯阿里们要小心了?
· 耽美IP到底能撬动多大市场?
· 租客和房东都要打起来了,蛋壳公寓还在微博阴阳怪气
» 更多新闻…

公告 昵称: 努力的老刘
园龄: 11天
粉丝: 1
关注: 1 +加关注

< 2020年11月> 日一二三四五六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12

搜索    常用链接 我的随笔我的评论我的参与最新评论我的标签我的标签大数据(7) hadoop(6) HDFS(2) MapReduce(2) YARN(1) ZooKeeper(1) kafka(1) 研究生(1) 随笔分类 大数据Hadoop HDFS知识点(2) 大数据Hadoop YARN知识点(1) 大数据HBase知识点(1) 大数据MapReduce知识点(1) 大数据ZooKeeper知识点(2) 随笔档案 2020年11月(9) 最新评论1. Re:用大白话讲大数据HBase,老刘真的很用心(1)加油,有些地方讲的不错–一往前行2. Re:你211研究生不好好学你的专业,为什么自学大数据开发?@fen儿 我是学的大数据开发部分,java基础,mysql,hadoop框架,spark框架,flink框架,以及一些辅助框架日志采集flume,数据迁移sqoop,分布式协调框架ZooKeeper…–努力的老刘3. Re:你211研究生不好好学你的专业,为什么自学大数据开发?大数据都学什么?–fen儿阅读排行榜 1. 你211研究生不好好学你的专业,为什么自学大数据开发?(219) 2. 保证看完就会!大数据YARN核心知识点来袭!(157) 3. 用大白话讲大数据HBase,老刘真的很用心(1)(85) 4. 我要进大厂之大数据MapReduce知识点(2)(17) 5. 我要进大厂之大数据Hadoop HDFS知识点(1)(11) 评论排行榜 1. 你211研究生不好好学你的专业,为什么自学大数据开发?(2) 2. 用大白话讲大数据HBase,老刘真的很用心(1)(1) 推荐排行榜 1. 用大白话讲大数据HBase,老刘真的很用心(1)(2) 2. 保证看完就会!大数据YARN核心知识点来袭!(2) 3. 你211研究生不好好学你的专业,为什么自学大数据开发?(1)

Copyright © 2020 努力的老刘
Powered by .NET 5.0.0 on Kubernetes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值