任何一个伟大的目标,都有一个微不足道的开始。
上天从未抛弃过每一个努力生长的灵魂,也不曾辜负过每一个擦肩而过的生命,所有不期而遇的温暖,悄然改变着那些看似惨淡混沌的人生。
Fork me on github

NoSQL 数据库 HBase

在这里插入图片描述

5.1HBase 原理

  • 既可以存储结构化数据,也可以存储非结构化数据或半结构化数据

5.1.1 HBase 概述

HBase 是基于 Apache Hadoop 的面向列的 NoSQL 数据库,是 Google 的 BigTable 的开源实现。HBase 是一个针对半结构化数据的开源的、多版本的、可伸缩的、高可靠的、高性能的、分布式的和面向列的动态模式数据库。

5.1.2 HBase 核心概念

  • HBase 是一个稀疏、多维度、有序的映射表。

表的每一行由一个或多个列族组成,一个列族中可以包含任意多个列。在同一个表模式下,每行所包含的列族是相同的,也就是说,列族的个数与名称都是相同的,但是每一行中的每个列族中列的个数可以不同,如图

在这里插入图片描述

  • 数据模型的基本概念
Table
Row
Column
ColumnFamily
ColumnQualifier
Cell
Timestamp
  1. 表(Table)

  2. 行关键字

  3. 列关键字

  4. 列族

  5. 列限定符

  6. cell(单元格)

  7. 时间戳

  • 两个视图
  1. 概念视图
    在这里插入图片描述

  2. 物理视图

在这里插入图片描述

5.1.3 HBase 的关键流程

  1. Region的分配

  2. RegionSercer 上线

  3. RegionServer 下线

  4. Master 上线

  5. Master 下线

  6. 写请求处理过程

5.2 HBase 伪分布式安装

解压
配置环境变量
配置HBase参数

5.2.1 安装 HBase 的前提条件

Hadoop 已经安装并成功启动,如图:

在这里插入图片描述

5.2.2 解压并配置环境变量

  1. 解压
tar -xvf hbase-[版本号]-bin.tar.gz

在这里插入图片描述

  1. 配置环境变量
vi /etc/profile

在这里插入图片描述

  • 使环境变量生效
source /etc/profile

在这里插入图片描述

5.2.3 配置 HBase 参数

  1. 配置hbase-env.sh
    在这里插入图片描述

  2. 配置hbase-site.xml 添加以下内容

添加以下 代码

 <configuration>
        <property>    <!--设置的是hdfs的文件目录-->
                <name>hbase.rootdir</name>
                <value>hdfs://master:8020/hbase</value>
        </property>
        <property>    <!--集群模式,分布式true,单机模式false-->
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
         <property>    <!--zookeeper集群的URL配置-->
                <name>hbase.zookeeper.quorum</name> 
                <value>master</value>
        </property>
        
       <property>
	            <name>zookeeper.znode.parent</name>
	            <value>/hbase</value>
       </property>
       <property>
               <name>hbase.zookeeper.property.dataDir</name>
               <value>/opt/zk_data</value>
       </property>
 </configuration>

5.2.4 验证 HBase

  1. 启动HBase
conf/start-hbase.sh

在这里插入图片描述
2. 启动 hbase shell 命令

hbase shell

在这里插入图片描述

  1. 输入list (显示所有表)

在这里插入图片描述

  1. 浏览器验证 [http://192.168.9.3:16010]

在这里插入图片描述

  1. 查看 HDFS 文件系统
hadoop fs -ls   /

在这里插入图片描述

  1. HBase 进程
jps

在这里插入图片描述

以上执行全部成功则 hbase 安装完成并运行正常

5.3 HBase Shell

  • HBase 为用户提供了一个非常方便的命令行使用方式——HBase Shell。

  • HBase Shell 提供了大多数的 HBase 命令,通过 HBase Shell,用户可以方便地创建、删除及修改表,还可以向表中添加数据,列出表中的相关信息等。

5.3.1 HBase Shell 常用命令

  1. create 命令

在这里插入图片描述

  1. list 命令

在这里插入图片描述

  1. describe 命令
    在这里插入图片描述

  2. put 命令

在这里插入图片描述

  1. get 命令

在这里插入图片描述

  1. scan 命令
    在这里插入图片描述
    在这里插入图片描述

  2. count 命令
    在这里插入图片描述

  3. exists 命令
    在这里插入图片描述

  4. 修改表结构

在这里插入图片描述

  1. delete 命令

在这里插入图片描述

delete all 'scores'      //删除全部数据   
  1. truncate 命令 (清空表中数据,保留表结构)
truncate 'scores' 
  1. disable、drop 命令
// 彻底删除表中数据和表结构-->先disable再drop
disable 'scores'
drop  'scores'
  1. status 命令

在这里插入图片描述

  1. version 命令

在这里插入图片描述

5.3.2 HBase Shell 综合示例

  1. 根据row key 查询

在这里插入图片描述

  1. row key + 列族

在这里插入图片描述

  1. row key + 列族+列

在这里插入图片描述

  1. 查看时间戳

在这里插入图片描述

  1. 根据版本查询

在这里插入图片描述

  1. 根据时间戳查询

在这里插入图片描述

  1. 删除列

在这里插入图片描述

  1. 删除行
    在这里插入图片描述

  2. 统计记录条数

在这里插入图片描述

  1. 清空表

在这里插入图片描述

5.3.3 HBase Shell 全部命令

help //列出全部的 hbase shell 命令

general、 ddl 、namespace、 dml 、tool…

posted @ 2020-11-15 01:18  Aurora*  阅读(63)  评论(0编辑  收藏  举报
-->