(大数据方向)分布式实验七:HBase数据库搭建以及常用命令

本文详述了HBase的分布式伪环境搭建过程,包括解压安装、配置环境变量、配置文件设置及启动步骤。同时,介绍了如何使用HBase Shell进行基本操作,如创建表、列出信息、管理列族、清空数据、统计行数和输出所有记录数据。
部署运行你感兴趣的模型镜像

目录

阅读须知

本篇博客是Hbase的搭建教程以及基础Hbase语句的使用教程

一.HBase简介

二.HBASE伪分布式搭建

一.解压hbase

二.配置环境变量

三.配置 hbase-env.sh

四.配置 hbase-site.xml

五.启动HBase

三.hbase shell

四.基本任务1使用 HBase Shell 命令完成下列任务

1.创建表

2.列出信息

3.向已经创建好的表添加和删除指定的列族或列

4.清空指定表的所有记录数据

5.统计表的行数

6.输出指定表的所有记录数据


阅读须知

本篇博客是Hbase的搭建教程以及基础Hbase语句的使用教程

除hbase配置文件与环境变量是博主自己配好复制自己配置文件过来的

其余Hbase语句均为手打,如果报错可能是引号是中文引号,如有发现可以留言提醒我,谢谢大家

编程代码之后会上传至资源中

一.HBase简介

HBase是一个基于Hadoop的分布式、可扩展、支持大数据存储的数据库。

数据模型
HBase采用表来组织数据,采用命名空间(NameSpace)对表进行逻辑分组。

NameSpace: 命名空间,类似于mysql中的database,默认有default和hbase,用户表默认在default中

表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列族。

行:每个HBase表都由若干行组成,每个行由可排序的**行键(row key)**来标识。

列:采用列族:列限定符的形式确定具体的一列。

列族:一个HBase表被分组成许多“**列族”(Column Family)**的集合,它是基本的访问控制单元。列族可以动态添加,但在定义表时需要指定至少一个列族,在使用某个列族时要事先定义。
列限定符:表在水平方向由一个或者多个列族组成,一个列族中可以包含任意多个列,同一个列族里面的数据存储在一起。列族里的数据通过**“列限定符”(Column qualifier)**来定位。
单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[],所以在定义表时无需定义数据的类型,使用时用户需要自行进行数据类型转换

时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引, HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留(这是和HDFS只允许追加不允许修改的特性相关的)

二.HBASE伪分布式搭建

一.解压hbase

hbase-0.98.12.1-hadoop2-bin.tar.gz 提取码SY99https://pan.baidu.com/s/13CTkNC5XjV3wuNjifF69QQ1.通过xftp将此压缩包传到虚拟机中

2.解压

tar -zxvf hbase-0.98.12.1-hadoop2-bin.tar.gz -C /etc

二.配置环境变量

vi /etc/profile
#修改配置文件

export HBASE_HOME=/etc/hbase-0.98.12.1-hadoop2 #此处跟自己的解压路径
export PATH=$PATH:$HBASE_HOME/bin


source /etc/profile
#重新加载配置文件

 

 

三.配置 hbase-env.sh

cd /etc/hbase-0.98.12.1-hadoop2/conf
#进入conf目录
#可以使用重命名指令将hbase-0.98.12.1-hadoop2换为hbase
# cd /etc
# cp hbase-0.98.12.1-hadoop2  hbase

vim hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_67
export HBASE_MANAGES_ZK=true
#修改此配置文件
#java路径使用自己/etc/profile中配置的路径

 

四.配置 hbase-site.xml

<property>
     <name>hbase.rootdir</name>
     <value>hdfs://自己的伪分布式主机名:9000/hbase</value>   //或:file:///home/testuser/hbase
  </property>

  <property>
     <name>hbase.cluster.distributed</name>
     <value>true</value>
  </property>

  <property>
     <name>hbase.zookeeper.quorum</name>
     <value>自己的伪分布式主机名</value>
  </property>

  <property>
     <name>hbase.master.info.port</name>
     <value>60010</value>
  </property>
  
  <property>
     <name>hbase.zookeeper.property.dataDir</name>
     <value>/root/zk</value>
  </property>

 

 

五.启动HBase

start-hbase.sh
#如果该命令提示找不到命令,则可以进入hbase的bin目录启动

#启动方式2:
cd /etc/hbase/bin
sh start-hbase.sh

jps  //查看进程

 

 

三.hbase shell

#练习常用指令

hbase shell  //ctrl+Backspace:后退

    hbase(main):001:0>help

    hbase(main):001:0>status

    hbase(main):001:0>whoami

    hbase(main):001:0>list   //列出表

    hbase(main):001:0>describe 'psn'  //查看psn表

    hbase(main):001:0>disable 'psn'

    hbase(main):001:0>drop 'psn'

    hbase(main):001:0>create //创建表,列出各种用法

    hbase(main):001:0>create 'student', 'info'

    hbase(main):001:0>describe 'student'

    hbase(main):001:0>create 'techer', 'info1','info2'

    hbase(main):001:0>put 'student','0001','info:name','xiaohua'

    hbase(main):001:0>put 'student','0001','info:age','22'

    hbase(main):001:0>get 'student','0001'  //取数据

    hbase(main):001:0>scan 'student'

    hbase(main):001:0>put 'student','0001','info:age','25'  //修改age

(2) ctrl+alt+]:退出hbase shell
    
    exit:回到shell

    //如果hbase.rootdir设置:file:///home/testuser/hbase, 
      cd /home/testuser/hbase/data/default/student   
      ls  
        1a1bbe7d2cf952cdc97d172136c05ad5   //region名称

    //如果hbase.rootdir设置:hdfs://node01:9000/hbase,可以在浏览器node01:9000查看

    //在浏览器(node01:60010),查看region名称

    cd  1a1bbe7d2cf952cdc97d172136c05ad5
    ls
        info   //列簇

    //info里无内容,上面输入的数据还在内存里

(3)  hbase(main):001:0>flush 'student' //将内存数据保存到磁盘

    //查看info里面的文件

     hbase hfile -p -f 文件

     hbase(main):001:0>delete 'student','0001','info:name'  //删除数据

     hbase(main):001:0>truncate  /删除所有数据

四.基本任务1使用 HBase Shell 命令完成下列任务

1.创建表

create ‘Student' ,'info'

2.列出信息

list

 

3.向已经创建好的表添加和删除指定的列族或列

put 'Student','20192697','info:name','xxx'

 

4.清空指定表的所有记录数据

truncate ‘student‘

5.统计表的行数

 

count ‘student’ 
#因为之前清空了数据,可以先查看清空的的行数是不是0
#再重新插入数据
#在使用上述命令查看行数,这样更直观

 

6.输出指定表的所有记录数据

scan 'Student'

 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java从跨平台到跨行业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值