大数据平台技术实例教程 课件【ch09】NoSQL数据库HBase_第1页
大数据平台技术实例教程 课件【ch09】NoSQL数据库HBase_第2页
大数据平台技术实例教程 课件【ch09】NoSQL数据库HBase_第3页
大数据平台技术实例教程 课件【ch09】NoSQL数据库HBase_第4页
大数据平台技术实例教程 课件【ch09】NoSQL数据库HBase_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NoSQL数据库HBase“新工科建设之路·数据科学与大数据系列大数据平台技术实刚教程第九章01大数据框架的数据库存储配置本章任务完成后,虚拟机镜像保存的快照节点为ahut0X-10,如图9-1所示。此节点完成了HBase环境的安装与配置,其中HBase版本为0.98.12.1,ahut01作为主HBaseServer,ahut02作为HBase客户端,ahut03作为备份主机。新增进程的作用如下。HMaster:主要负责Table表的增、删、改、查等操作和HRegion的管理。工作HRegionServer:主要负责响应用户的IO请求,在HDFS中读写数据。02NoSQL概念和分类NoSQL数据库分类1.键值存储数据库:键值存储数据库是一种简单而高效的NoSQL数据库,它将数据存储为键值对的形式,2.列存储数据库:列存储数据库将数据存储为列而不是行,相对于传统的行存储数据库,可以大幅提高数据存储和查询的效率。3.文档型数据库:文档型数据库与键值存储数据库相似。这种数据模型将内容按照特定格式存储。4.图形数据库:图形数据库与关系型数据库和列存储数据库不同,它采用灵活的图模型,并能扩展到多台服务器上,图形数据库可以在节点和边缘之间存储不限数量的关系和属性,容易查询这些关系。03HBase数据库HBase数据模型主要包括行键(RowKey)列族(ColumnFamily)时间戳(TimeStamp)和单元格(Ce11),如图9-3所示。HBase数据模型HBase体系架构及组件0102ZooKeeper保障在任何时候,集群中只有一个Master。同时,ZooKeeper用来存储所有HRegion的组件,主要用于存储HBase的寻址入口,实时监控HRegionServer的上线和下线信息,并且通知HBase处理表的结构信息和元数据信息的变化。元数据存储ZooKeeperHMaster组件类似HDFS中的NameNode,它不存储数据,主要作用是为HRegionServer分配HRegion,同时负责HRegionServer的负载均衡,如果发现失效的HRegionServer,它会重新分配上面的HRegion。HMaster组件还会管理用户对Table的增、删、改操作。资源分配HMaster03HRegionServer组件类似HDFS中的DataNode。HRegionServer组件负责维护HRegion,处理对HRegion的I/0请求,同时还负责切分在运行过程中过大的HRegion。HRegionServer的处理HBase体系架构及组件0405Client组件主要包含访问HBase的接口,同时维护Cache来提高HBase的访问性能。保持访问性能Client每个HRegion会保存一个表中某段连续的数据,随着数据不断插入HRegion会不断增大,当增大到一个阙值时,HRegion就会被等分成两个新的HRegion,这个等分的过程称为裂变。当表中的行不断增多时,就会有越来越多的HRegion。分布式存储和负载均衡最小单元Region06一个HRegion往往由多个Store组成,一个Store包括位于内存的MemStore和位于磁盘的StoreFile。MemStore、StoreFile与组件07SequenceFile的Key是HLogKey对象HLogKey记录写入数据的归属信息。HLog的作用04HBase的安装在配置伪分布式前,要确保虚拟机中已经安装了Hadoop组件。ZooKeeper可以选择默认的ZooKeeper(即内部的ZooKeeper),主要配置步骤如下,详细的步骤及配置命令可查看配套的在线文档。(1)使用tar命令,解压缩并安装HBase;(2)在HBase目录下输入vihbase-envsh,修改hbase-env.sh配置文件;(3)输入vihbase-site.xm1,添加配置信息。伪分布式在配置完全分布式的Hbase之前,要确保Hadoop集群和ZooKeeper集群能够正常运行这样Hbase的安装与运行才能顺利进行。Hbase完全分布式的软件解压缩步骤和伪分布式的软件解压缩步骤类似,其余步骤如下,详细的步骤及配置命令可查看配套的在线文档。完全分布式(1)在ahut01的HBase目录下输入ihbase-envsh,配置hbase-envsh文件。(2)在ahut01中输入vihbase-site.xml,添加配置信息。(3)使用cp命令,将修改后的配置文件hdfs-site.xml复制到hbase/conf目录下.(4)在ahut01中输入viregionservers,配置regionservers文件,添加ahut01、ahut02ahut03主机。(5)在ahut01中输入vibackup-masters,配置backup-masters文件,设置备份主机为ahut03;(6)在ahut01中使用scp命令,将hbase文件夹分发给ahut02、ahut03节点;(7)在ahut01、ahut02和ahut03中输入vi/etc/profile,配置并更新环境变量。HBase的启动和关闭启动时应按照以下顺序:启动ZooKeeper服务一启动HDFS服务启动HBase。服务在关闭时,应按照相反的顺序:关闭HBase服务-关闭HDFS服务一关闭ZooKeeper服务。HBase的网页端HBase的网页端05HBase的Shell操作对HBase而言,在创建HBase表时,不需要自行创建行键,系统会默认将一个属性作为行键,通常是把put命令中跟在表名后的第一个数据作为行键。新建学生表stul,包含学号字段sno和姓名字段sname,命令如下:hbase(main):001:0>create‘stul’‘sno’‘sname“。1.创建表使用list命令查看HBase中有哪些表,结果如下:hbase(main):001:0>list2.查看表及表信息可以查看到刚刚创建的表stu1。使用desc或describe命令查看表的具体信息,结果如下:bbase(main):016:0>describe‘stul‘HBase向表中添加数据的命令是put,但是该命令一次只能给一个表的一行数据中的一列添加数据,命令如下:3.添加数据向stu1表中添加两条记录,命令如下:因为表stu1只有2列,所以一条命令就可以添加内容至所有列。如果该表还有一个年龄字段sage,则插入年龄还需再执行一次命令,命令如下:4.查看数据使用get命令查看指定表的某一行数据,使用scan命令查看指定表的全部数据,命令及结果如下:5.新增列与MySQL数据库类似,使用alter命令修改表的列口例如,向stul表中增加sage歹命令及结果如下:修改列后立即使用scan命令,可以发现当不插入表格数据时,使用scan命令看不到刚才的修改内容。现在尝试先向表中添加sage数据,再使用scan命令,命令及结果如下:6.删除列使用delete命令选择删除列,例如,删除刚刚增加的sage列,命令如下:7.删除数据8.使用exists命令查看指定表是否存在9.重命名表删除表需要先使用disable命令禁用该表,再使用dr叩命令删除该表,命令如下:10.删除表在添加数据时,HBase会自动为添加的数据添加一个时间戳。在修改数据时,HBase会为修改后的数据生成一个新的版本(新的时间戳),从而完成“改”的操作。旧的版本依旧保留,系统会定时回收垃圾数据,只留下最新的几个版本。系统可保存的最大版本数可在创建表时指定。11.查询历史数据11.查询历史数据12.退出使用exit命令退出HBaseShell,命令:hbase(main):0:0>exit06基于JavaAPI访问HBase实例在第4章的前期准备基础上,需要再创建一个名为hbaseiars的自定义库,创建方法与创建hadoop_jars一样,在选择外部包的时候,需要将ahut01中hbase/lib下的所有iar包都加入进去,并应用到该项目中。实验环境配置完成后,即可在Eclipse中创建一个新的项目,命名为HBase,接着导入相应的iar包,并创建相应的class文件,如图9-11所示准备工作1.项目初始化配置Eclipse环境下编程2.导入相关依赖包,编写init()初

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论