一、试验目的要求

试验目的:
1、 掌握数据库的基本使用操作
2、数据库中数据库、表、数据测试操作
试验要求:
1、Hbase数据库语句的使用
2、正确完成练习内容

二、试验环境

Hadoop完全分布模式平台数据库平台搭建完成
Hbase完全分布部署完成

三、试验内容

任务一 HBase的介绍

    HBase是一个类似Bigtable的分布式数据库,它是一个稀疏的长期存储的(存储在硬盘上)、多维度的、排序的映射表,这张表的索引是行关键字、列关键字和时间戳,HBase中的数据都是字符串,没有类型。
    概括的讲,Hbase可以看做是bigtable的开源山寨版本,是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。
    高可靠性、便于横向扩展的特性,也是我们项目选择Hbase进行存储的主要原因。
    HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,适合于存储大表数据,表的规模可以达到数十亿行以及数百万列,并且对大表数据的读、写访问可以达到实时级别。
    HBase Master是服务器负责管理所有的HRegion服务器,HBaseMaster并不存储HBase服务器的任何数据,HBase逻辑上的表可能会划分为多个HRegion,然后存储在HRegion Server群中,HBaseMaster Server中存储的是从数据到HRegion Server的映射。

任务二 认识HBase的架构

    hbase提供了一个she11的终端给用户交互。使用命令hbaseshe11进入命令界面。通过执行he1p可以看到命令的帮助信息。
在这里插入图片描述
HMast
    分为主Master和备用Master
    主Master负责HBase中’RegionServer的管理,包括表的增删改查、RegionServer的负载均衡、Region的分布调整、Region的分裂及分裂后的分配,RegionServer失效后的Region迁移等。
    当主Master故障时,备用Master将取代主Master对外提供服务,故障恢复后,原主Master降为备用Master。
客户端
    客户端使用HBase的RPC机制与Master、
    RegionServer进行通信,'Master进行管理类通信,与RegionServer进行数据操作类通信。
Region
    将一个数据表按key值范围横向划分为一个个的子表,实现分布式存储,该子表被称Region。
RegionServer
    HBase的数据服务进程,负责处理用户数据的读写请求,Region被交由RegionServer管理。实际上所有用户数据的读写请求,都是和RegionServer上的Region进行交互,Region可以在RegionServer之间发生转移。
ZooKeeper
    ZooKeeper为HBase集群中各进程提供分布式协作服务,RegionServer将自己的信息注册到Zookeeper中,Master据此感知各个RegionServer的健康状态。
各组件说明:
Client:
    使用HBaseRPC机制与HMastev和HRegionServer进行通信Client与HMastev进行管理类操作Client与HRegionserver进行数据读写类操作。
Zookeeper:
    Zookeeper Quovum存储-ROOT-表地址、HMastev地址HRegionserver把自己以Ephedra(方式注册到Zookeeper中,HMaster随时感知各个HRegionServer的健康状况Zookeepev避免HMastev单点问题。

任务三 HBase shell的使用

1、准备工作
在这里插入图片描述
★ 该项的所有操作步骤使用专门用于集群的用户admin进行。
★ 启动HBase集群之前首先确保Zookeeper集群已被开启状态。 (实验5台) Zookeeper的启动需要分别在每个计算机的节点上手动启动。如果家目录下执行启动报错,则需要进入zookeeper/bin目录执行启动命令。
★ 启动HBase集群之前首先确保Hadoop集群已被开启状态。 (实验5台)Hadoop和Hbase只需要在主节点执行启动命令。

    #在集群中所有主机上使用命令“zkServer.sh status”查看该节点Zookeeper服务当前的状态,若集群中只有一个“leader”节点,其余的均为“follower”节点,则集群的工作状态正常。

$ zkServer.sh status

    #如果Zookeeper未启动,则在集群中所有主机上使用命令“zkServer.sh start”启动Zookeeper服务的脚本。

$ zkServer.sh start

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

$ jps

    #在主节点,查看Java进程信息,若有名为“NameNode”、“ResourceManager”的两个进程,则表示Hadoop集群的主节点启动成功。在每台数据节点,若有名为“DataNode”和“NodeManager”的两个进程,则表示Hadoop集群的数据节点启动成功。

    #如果不存在以上三个进程,则在主节点使用此命令,启动Hadoop集群。

$ start-all.sh

在这里插入图片描述
    #在备用主节点使用此命令,启动ResourceManager。

$yarn-daemon.sh start resourcemanager

在这里插入图片描述

$ jps

    在主节点和备用主节点使用命令“jps”查看Java进程信息,若有名为“HMaster”的进程,则表示HBase集群的主节点和备用主节点启动成功。
在集群中每台Region节点主机,使用命令“jps”查看Java进程信息,若有名为“HRegionServer”的进程,则表示HBase集群的Region节点启动成功。

    #如果不存在以上进程,确定Hadoop集群已启动状态,然后在主节点使用此命令,启动HBase集群。

$ start-hbase.sh

    合适的结果:
在这里插入图片描述
2.进入Hbase命令界面,使用命令create_namespace 'testDB'新建表空间,使用命令list_namespace查看表,使用命令drop_namespace 'testDB'删除表空间。
在这里插入图片描述
3. 查看hbase的配置文件。
在这里插入图片描述
4. 建立一个表和列族(默认表空间)
在这里插入图片描述
5. 按设计的表结构插入值。
在这里插入图片描述
6. 根据键值查询数据。
在这里插入图片描述
7.扫描所有数据。
在这里插入图片描述
8.统计行数.
在这里插入图片描述
9.删除指定数据。
在这里插入图片描述
10.删除整行。
在这里插入图片描述
11.表的删除,先进行disable和enable操作。
在这里插入图片描述
12.作业:下表是几位同学的成绩单,请把数据写入到HBase。
在这里插入图片描述
13.创建表,并向表中加入数据。
在这里插入图片描述
14.扫描表。
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐