35HBase数据库部署与应用课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《35HBase数据库部署与应用课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 35 HBase 数据库 部署 应用 课件
- 资源描述:
-
1、项目五 HBaseHBase数据库部署与应用任务1 HBase部署任务2 HBase Shell任务3 HBase编程任务4 MapReduce与HBase集成【任务概述】HBase是运行在Hadoop的分布式数据库,需要在Hadoop集群环境上部署,需要配置Zookeeper,最后还需要对部署的HBase环境进行检验测试。【支撑知识支撑知识】一、HBase简介二、HBase基本概念三、HBase系统架构【任务实施任务实施】一、Master节点安装软件二、Master节点设置HBase参数三、Master节点设置Zookeeper参数四、Slave节点和sw-desktop客户端安装软件五、Z
2、ookeeper服务六、验证HBase服务【支撑知识】一、HBase简介HBase(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在普通机器上搭建起大规模结构化存储集群。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,另一个不同的是HBase基于列的而不是基于行的模式。HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据
3、,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。uHBase具有以下特点:(1)面向列:面向列(族)的存储和权限控制,列(族)独立检索。(2)大表:表可以非常大,一个表可以有上亿行、上百列。(3)稀疏:列族中的列可以动态增加,一般情况下,列比较多,一行数据只有少数的列有值,而对于空值,HBase并不存储。因此,表可以设计的非常稀疏。(4)非结构化:HBase不是关系型数据库,适合存储非结构化的数据。(5)数据多版本:每个单元中的数据可以有多个版本,默认情况下版
4、本号自动分配,是单元格插入时的时间戳。(6)数据类型单一:HBase中的数据都是字符串,没有其他类型。(7)数据操作简单:HBase只有很简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系。(8)线性扩展:当存储空间不足时,可以通过简单地增加节点的方式进行扩展。二、HBase基本概念(1)HBase逻辑视图、行键(RowKey)、列族(CF,ColumnFamily)、时间戳(TimeStamp)、单元格(Cell)、区域(Region)(2)概念视图(3)物理视图(4)HBase物理存储三、HBase系统架构HBase Client使用HBase的远程过程调用
5、协议(RPC,Remote Procedure Call Protocol)机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC。(1)Zookeeper QuorumZookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的单
6、点问题。HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行,HMaster在功能上主要负责Table和Region的管理工作:、管理用户对Table的增、删、改、查操作;、管理HRegionServer的负载均衡,调整Region分布;、在Region Split后,负责新Region的分配;、在HRegionServer停机后,负责失效HRegionServer上的Regions迁移。(2)HRegionServerHRegionServer主要负责响应用户I/O请求,向HDFS文件系统中
7、读写数据,是HBase中最核心的模块。HRegionServer内部管理了一系列HRegion对象,每个HRegion对应了Table中的一个Region,HRegion中由多个HStore组成。每个HStore对应了Table中的一个Column Family的存储,可以看出每个Column Family其实就是一个集中的存储单元,因此最好将具备共同IO特性的column放在一个Column Family中,这样最高效。(3)HStoreHStore存储是HBase存储的核心,由两部分组成,一部分是MemStore,一部分是StoreFiles。MemStore是Sorted Memory
8、Buffer,用户写入的数据首先会放入MemStore,当MemStore满了以后会刷新成一个StoreFile(底层实现是HFile),当StoreFile文件数量增长到一定阈值,会触发Compact合并操作,将多个StoreFiles合并成一个StoreFile,合并过程中会进行版本合并和数据删除,因此可以看出HBase其实只有增加数据,所有的更新和删除操作都是在后续的compact过程中进行的,这使得用户的写操作只要进入内存中就可以立即返回,保证了HBase I/O的高性能。当StoreFiles Compact后,会逐步形成越来越大的StoreFile,当单个StoreFile大小超过
9、一定阈值后,会触发Split操作,同时把当前Region Split成2个Region,父Region会下线,新Split出的2个孩子Region会被HMaster分配到相应的HRegionServer上,使得原先1个Region的压力得以分流到2个Region上。(4)Catalog TableHBase内部保留名为-ROOT-和.META.的特殊目录表(Catalog Tble),如图5-6所示。他们维护着当前集群上所有区域的列表、状态和位置。-ROOT-表包含.META.表的区域列表。.META.包含所有用户空间区域(user-space region)的列表。表中的项使用区域名作为键。
10、区域名由所属的表名、区域的启始行、区域的创建时间以及对其整理进行的MD5哈希值(即对表名、起始行、创建时间戳进行哈希后的结果)组成。四、Zookeeper(1)Zookeeper简介ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和HBase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。它包含一个简单的原语集,分布式应用程序可以基于它实现同步服
11、务,配置维护和命名服务等。(2)Zookeeper的工作原理Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和Leader的状态同步以后,恢复模式就结束了。状态同步保证了Leader和Server具有相同的系统状态。为了保证事务的顺序一致性,zookeeper采用了递增的事务id号(zxid)来标识事务。所有的提议(proposal)都在被提出的时候加上了zxid。
12、实现中zxid是一个64位的数字,它高32位是epoch用来标识leader关系是否改变,每次一个Leader被选出来,它都会有一个新的epoch,标识当前属于那个Leader的统治时期。低32位用于递增计数。每个Server在工作过程中有三种状态:、LOOKING:当前Server不知道leader是谁,正在搜寻;、LEADING:当前Server即为选举出来的leader;、FOLLOWING:leader已经选举出来,当前Server与之同。当Leader崩溃或者leader失去大多数的Follower,这时候zk进入恢复模式,恢复模式需要重新选举出一个新的leader,让所有的Serv
13、er都恢复到一个正确的状态。Zk的选举算法有两种:一种是基于basic paxos实现的,另外一种是基于fast paxos算法实现的。系统默认的选举算法为fast paxos。Zookeeper中的角色主要有以下3类Zookeeper中的角色主要有以下3类:(1)领导者(Leader):领导者负责进行投票的发起和决议,更新系统状态。(2)学习者(Learner)包括跟随者和观察者。跟随者(Follower):Follower用于接收客户请求并向客户端返回结果,在选择Leader中参与投票。观察者(Observer):Observer可以接收端连接,将写请求转发给Leader节点,但Obser
14、ver不参与投票过程,只同步Leader的状态。Observer的目的是为了扩展系统,提高读取速度。(3)客户端(Client):请求发起方。(3)Zookeeper在HBase中的作用、通过选举,保证任何时候,集群中只有一个master,Master与RegionServers启动时会向ZooKeeper注册;、存贮所有Region的寻址入口;、实时监控Region server的上线和下线信息,并实时通知给Master;、存储HBase的schema和table元数据;、默认情况下,HBase管理ZooKeeper实例,比如,启动或者停止ZooKeeper;、Zookeeper的引入使得M
15、aster不再是单点故障。【任务实施】n一、Master节点安装软件(1)下载HBase和Zookeeper软件包到/home/hadoop目录下,下载网址如下:http:/ tar xvzf/home/hadoop/hbase-1.2.4-bin.tar.gzhadoopmaster:/opt$sudo tar xvzf/home/hadoop/zookeeper-3.4.9.tar.gzhadoopmaster:/opt$sudo chown-R hadoop:hadoop hbase-1.2.4 zookeeper-3.4.9【任务实施】n二、Master节点设置HBase参数(1)修改
16、hbase-env.sh文件hadoopmaster:/opt$cd/opt/hbase-1.2.4/confhadoopmaster:/opt/hbase-1.2.4/conf$vi hbase-env.sh(2)修改hbase-site.xml文件hadoopmaster:/opt/hbase-1.2.4/conf$vi hbase-site.xml(3)修改regionservershadoopmaster:/opt/hbase-1.2.4/conf$vi regionservers【任务实施】n三、Master节点设置Zookeeper参数(1)修改zoo.cfghadoopmaste
17、r:/opt/zookeeper-3.4.9/conf$cd/opt/zookeeper-3.4.9/confhadoopmaster:/opt/zookeeper-3.4.9/conf$vi zoo.cfg(2)在dataDir指定的目录下创建myid文件,并添加相应内容。hadoopmaster:$mkdir/opt/zookeeper-3.4.9/datahadoopmaster:$echo 0 /opt/zookeeper-3.4.9/data/myid(3)拷贝zookeeper的配置文件zoo.cfg到Hbasehadoopmaster:$cp/opt/zookeeper-3.4.
18、9/conf/zoo.cfg/opt/hbase-1.2.4/conf/【任务实施】n四、Slave节点和sw-desktop客户端安装软件(1)以用户hadoop登录slave1节点安装软件hadoopslave1:$sudo scp-r hadoopmaster:/opt/hbase-1.2.4/opthadoopslave1:$sudo scp-r hadoopmaster:/opt/zookeeper-3.4.9/opthadoopslave1:$sudo chown-R hadoop:hadoop/opt/hbase-1.2.4/opt/zookeeper-3.4.9hadoopsl
19、ave1:$echo 1 /opt/zookeeper-3.4.9/data/myid(2)以用户hadoop登录slave2节点安装软件方法同上(略)(3)以用户hadoop登录sw-desktop客户机安装软件hadoopsw-desktop:$sudo scp-r hadoopmaster:/opt/hbase-1.2.4/opthadoopsw-desktop:$sudo scp-r hadoopmaster:/opt/zookeeper-3.4.9/opthadoopsw-desktop:$sudo chown-R hadoop:hadoop/opt/hbase-1.2.4/opt/
展开阅读全文