代码来源和对照来自:HBase2.2.2安装和编程实践指南_厦大数据库实验室博客
- 实验目的
1.学会如何安装和使用HBase。
2.熟练使用HBase操作常用的Shell命令。
3.熟悉HBase操作常用的Java API。
4.了解HBase的运行模式,包括单机模式、伪分布式模式。
5.熟悉eclipse的使用。
- 实验环境
操作系统:Linux
环境版本:ubuntu-18.04.6
Hadoop版本:hadoop3.1.3
HBase版本:hbase2.2.2
Java 版本:jdk-8u162-linux
Eclipse版本:4.7.0
虚拟机:VMware
- 实验步骤及结果
1.安装HBase2.2.2
1.1解压安装包hbase-2.2.2-bin.tar.gz至路径 /usr/local。
1.2将解压的文件名hbase-2.2.2改为hbase,以方便使用,再把hbase目录权限赋予给hadoop用户。
1.3配置环境变量,添加HBase权限,查看HBase版本,确定hbase安装成功。
2.配置HBase2.2.2
2.1单机模式配置
2.2伪分布式模式配置
2.2测试运行HBase
(1)启动Hadoop
(2)启动HBase
(3)进入shell界面
3.实践编程
3.1利用Shell命令
(1)HBase中创建表
查看student表基本信息
(2)HBase数据库基本操作
a.添加数据
HBase中用put命令添加数据,注意:一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据,所以直接用shell命令插入数据效率很低,在实际应用中,一般都是利用编程操作数据。
命令执行如下:
b.删除数据
在HBase中用delete以及deleteall命令进行删除数据操作,它们的区别是:
1. delete用于删除一个数据,是put的反向操作。
2. deleteall操作用于删除一行数据。
c.查看数据
先将之前删除的重新加上,再加上两条数据
1.get命令查看
2.scan命令查看
d.删除表
删除表有两步,第一步先让该表不可用,第二步删除表。
(3)查询表的历史版本,需要两步。
a.在创建表的时候,指定保存的版本数(假设指定为5)
b.插入数据然后更新数据,使其产生历史版本数据,注意:这里插入数据和更新数据都是用put命令
c.查询时,指定查询的历史版本数。默认会查询出最新的数据。(有效取值为1到5)
(4)退出HBase数据库表操作
最后退出数据库操作,输入exit命令即可退出。
3.2 HBase Java API编程实践
本实例采用Eclipse开发工具。
启动Eclipse,然后创建一个项目并导包,在该项目新建一个Class,将要运行的代码写入,最后运行。
运行结果如下:
再到HBase Shell交互式环境中,使用命令查看student表是否创建成功:
使用list:
使用scan:
- 出现的问题及解决方案
1.使用hbase创建表的时候,出现下面的错误:
2.在配置伪分布式的时候,用命令vim打开并编辑hbase-site.xml,将
<name>hbase.rootdir</name>改为<name>hbase.root.dir</name>
如下:
3.最后就可以创建表了:
- 实验总结
通过本次HBase 2.2.2的安装和编程实践实验,我深入了解了HBase的基本原理、安装配置过程以及如何使用HBase Shell和Java API进行基本的操作。以下是我对本次实验的主要总结:
HBase的安装与配置:在安装HBase之前,需要确保Hadoop环境已经正确搭建并运行。HBase依赖于Hadoop的HDFS进行数据存储,依赖于Hadoop的YARN进行资源管理和任务调度。在安装过程中,我熟悉了HBase的配置文件,如hbase-site.xml、hbase-env.sh等,并了解了如何根据实际需求调整这些配置。
HBase Shell的使用:HBase Shell是HBase提供的一个交互式命令行工具,用于管理HBase数据库。通过Shell,我学习了如何创建表、删除表、插入数据、查询数据等基本操作。
Java API的使用:除了使用HBase Shell,我还学习了如何使用Java API进行HBase操作。Java API提供了更丰富的功能和更灵活的操作方式。通过编程实践,我掌握了如何使用Java API创建表。
未来,我计划进一步深入学习HBase的高级特性和功能,探索HBase在大数据处理中的应用场景,并结合实际项目需求进行实践和应用。同时,我也将关注HBase的安全性、可靠性等方面的问题,以提高在实际应用中的效率和稳定性。