HBase编程实践

文章目录

    • 编程环境
    • 实验内容
      • 安装Hbase
      • 单机模式配置
      • 伪分布式配置
      • HBase shell命令说明
      • 简单命令实践
    • 参考资料:

编程环境

Ubuntu 18.04
HBase编程实践_第1张图片

实验内容

安装Hbase

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.4.11/hbase-2.4.11-bin.tar.gz

已安装的hadoop版本:
Hadoop 3.3.2
在这里插入图片描述
解压安装包

tar -zxf hbase-2.4.11-bin.tar.gz

  1. 配置环境变量

记住自己的安装的路径
在这里插入图片描述

vim ~/.bashrc

在这里插入图片描述
使资源生效

source ~/.bashrc

验证HBase是否安装成功

bin/hbase version

输出版本即安装成功
HBase编程实践_第2张图片



单机模式配置

找到自己JAVA安装路径可以参考(https://blog.csdn.net/wr456wr/article/details/124249644)中的安装JAVA环境变量或者在**~/.bashrc** 中查看自己已经配置好的环境路径
HBase编程实践_第3张图片

在conf/hbase-env.sh内进行配置,大概在第28行设置JAVA环境变量
(在vim内使用set nu可以查看到行数信息)
以及126行的注释去掉
HBase编程实践_第4张图片
在这里插入图片描述
配置hbase-site.xml文件,在hbase安装的目录下的conf文件内,设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据,此处设置为HBase安装目录下的hbase-tmp文件夹
在这里插入图片描述
配置项:

  <property>
    <name>hbase.rootdirname>
    <value>file:///root/rDesk/hbase/hbase-tmpvalue>
  property>

HBase编程实践_第5张图片
之后尝试启动HBase,成功启动

bin/start-hbase.sh
bin/hbase shell
bin/stop-hbase.sh (HBase停止操作)

HBase编程实践_第6张图片



伪分布式配置

在conf/hbase-env.sh文件内配置三项分别为JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK.

其中HBASE_CLASSPATH值设置为安装hbase目录下的conf文件的位置

在vim内命令模式下使用/可以进行搜索:
HBase编程实践_第7张图片
HBase编程实践_第8张图片
配置conf内的hbase-site.xml文件.

修改hbase.rootdir,指定HBase数据在HDFS上的存储路径;将属性hbase.cluter.distributed设置为true。假设当前Hadoop集群运行在伪分布式模式下,在本机上运行,且NameNode运行在9000端口。

添加的配置项如下:

<configuration>
        <property>
                <name>hbase.rootdirname>
                <value>hdfs://localhost:9000/hbasevalue>
        property>
        <property>
                <name>hbase.cluster.distributedname>
                <value>truevalue>
        property>
        <property>
        <name>hbase.unsafe.stream.capability.enforcename>
        <value>falsevalue>
    property>
configuration>

HBase编程实践_第9张图片
hbase.rootdir指定HBase的存储目录;hbase.cluster.distributed设置集群处于分布式模式.

另外,上面配置文件中,hbase.unsafe.stream.capability.enforce这个属性的设置,是为了避免出现启动错误。也就是说,如果没有设置hbase.unsafe.stream.capability.enforce为false,那么,在启动HBase以后,会出现无法找到HMaster进程的错误


尝试启动Hbase和Hadoop

bin/start-hbase.sh
/root/rDesk/hdoop-3.3.2/sbin/start-dfs.sh (启动Hadoop)

在这里插入图片描述

输入jps查看是否启动成功
HBase编程实践_第10张图片
其中NameNode,DataNode,SecondaryNameNode为Hadoop的进程,HQuirumPeer,HRegionServer,HMaster为HBase的进程


HBase shell命令说明

  1. create: 创建表

  1. list: 列出HBase中所有的表的信息

  1. put:向表,行,列指定的单元格添加数据

  1. get:通过指定表名,行,列,时间戳,时间范围和版本号来获得相应的单元格的值

  1. scan:浏览表的相关信息

  1. alter:修改列族模式

  1. count:统计表中的行数

  1. describle: 显示表的相关信息

  1. enable/disable:使表有效或无效

  1. delete:删除指定单元格的数据

  1. drop:删除表

  1. exists:判断表是否存在

  1. truncate:使表无效,删除该表,然后重新建立表

  1. exit:退出hbase shell

  1. shutdown:关闭Hbase集群

  1. version:输出Hbase版本信息

  1. status:输出hbase集群状态信息

简单命令实践

打开hbase的shell

bin/hbase shell

HBase编程实践_第11张图片

  1. 创建一个Student表

create ‘student’, ‘Sname’, ‘Ssex’, ‘Sage’, ‘Sdept’, ‘course’
在这里插入图片描述

  1. 查看student表的信息

describe 'student’describe ‘student’

HBase编程实践_第12张图片
3. 使用put向student表插入数据
put命令添加数据,一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据

put ‘student’, ‘122’, ‘Sage’, ‘77’

(含义是向student表中的122行号内的Sage族内插入一条数据,数据值为77)

在这里插入图片描述

  1. 使用scan查看student表内的数据

scan ‘student’

在这里插入图片描述

  1. 使用delete删除数据

delete ‘student’, ‘122’, ‘Sage’

HBase编程实践_第13张图片

  1. 使用deleteall删除一行的数据

deleteall ‘student’, ‘123’

HBase编程实践_第14张图片

  1. 使用get获取某一行的数据

get ‘student’, ‘11’

HBase编程实践_第15张图片

  1. 删除表
    先使用disable使表不可用,然后使用drop删除表

disable ‘student’
drop ‘student’

在这里插入图片描述
或者在使用disable表后也可以使用enable重新使表可用
HBase编程实践_第16张图片



参考资料:

http://dblab.xmu.edu.cn/blog/2442-2/
https://blog.csdn.net/weixin_44990104/article/details/117596231
https://github.com/steveloughran/winutils

你可能感兴趣的:(大数据,hbase,hadoop,zookeeper)