• 2025年8月19日 星期二

H30420-Hbase配置教程和实验4

4 月 9, 2023

本文分两个部分,第一个部分为Hbase配置教程(因为XMU的配置教程有一些不完整,致使本人在配置Hbase时走了一些弯路,在这里简单记录一下);第二个部分为广州商学院大数据应用技术课程实验4报告参考教程内容。

第一部分-Hbase配置教程

0.如果您用的是我制作的虚拟机镜像,或者是从周老师那获得的UbuntuKylin16.04的虚拟机镜像,您可以跟着此教程完成,否则,请您先下载hbase-2.2.2-bin.tar.gz到home目录下,并跟着之前的教程完成hadoop的配置,才可以跟着此教程完成配置。

1.在hadoop用户的家目录下,打开终端,输入tar命令解压hbase2.2.2,并进行赋予权限和改名的操作,最后将其移动到/usr/local/文件夹下,参考命令如图1所示。

图1

2.(可选,偷懒可以跳过)使用vim ~/.bashrc编辑环境变量,在PATH下加入hbase文件夹的bin路径,路径内容可参考图2进行配置。完成配置后,使用source命令编译环境变量文件,并尝试输入 hbase version查看版本号,如果配置正确,hbase会回显正确版本号,如图3所示。

图2
图3

3.编辑hbase环境文件,命令如图4所示。

图4

4.移除28,31,126,139行注释,并正确配置28,31行的路径,具体路径可以参考图5内的路径显示。

图5
图6
图7

5.返回hadoop的core-site.xml,记住namenode配置的ip地址和端口号,方便后续使用,命令如图8所示,需要记住的内容如图9所示。

图8
图9

6.编辑hbase-site.xml,命令如图10所示,修改configuration中的内容如图11所示。

图10
图11

7.启动hadoop和hbase,启动完成后使用jps查看进程,如果配置正确,应该会看到Hmaster服务。如图12所示。

图12

8.使用 /usr/local/hbase/bin/hbase shell 进入hbase的shell,尝试创建一个数据库,名称为teacherLXH,如果创建成功,会回显创建完成的提示。具体命令如图13所示。

图13

9.使用Eclipse进行数据库新建和添加数据操作:可以用之前的HDFS1项目,新建一个类。代码可以从附件下载,也可以在HBase2.2.2安装和编程实践指南_厦大数据库实验室博客 (xmu.edu.cn)复制ExampleForHBase.java处的代码指令,复制完成后,修改地址和端口号为图9处显示的内容,代码区域如图14所示。

图14

10.此时代码会有很多报错,是因为没有导入hbase的jar包。在HDFS1项目右键属性,进入Java Build Path,在Libraries处导入包,点击“Add External JARs”,进入到“/usr/local/hbase/lib”目录,选中该目录下的所有jar文件(注意,不要选中client-facing-thirdparty、ruby、shaded-clients和zkcli这四个目录),然后,点击界面底部的“OK”按钮。然后再到client-facing-thirdparty文件夹下选中该目录下所有jar文件。如图15所示

图15

11.导入完成后,执行代码(Run as Java Application),可以正确在hbase创建一个student数据库并添加一些数据,如图16所示。

图16

第二部分-实验4

(此部分内容建议您先完成第一部分内容再进行参考)

一、实验目的

a)    理解HBase在Hadoop体系结构中的角色。

b)    熟练使用HBase操作常用的shell命令。

c)    熟悉HBase操作常用的Java API。

二、实验仪器设备或材料

a)    Ubuntu 20.0.4

b)    Hadoop 3.3.1

c)    HBase 2.4.6

d)    JDK 1.8.3

e)    Eclipse R(2019-12)

三、实验原理

HBase是一个分布式的、面向列的开源数据库,源于Google的一篇论文《BigTable:一个结构化数据的分布式存储系统》。HBase以表的形式存储数据,表有行和列组成,列划分为若干个列族/列簇(column family)。欲了解HBase的官方资讯,请访问HBase官方网站http://hbase.apache.org。

HBase的运行有三种模式:单机模式、伪分布式模式、分布式模式。

a)    单机模式:在一台计算机上安装和使用HBase,不涉及数据的分布式存储;

b)    伪分布式模式:在一台计算机上模拟一个小的集群;

c)    分布式模式:使用多台计算机实现物理意义上的分布式存储。

这里出于学习目的,我们只重点讨论单机模式和伪分布式模式。

四、实验内容与步骤

1.使用HBase Shell命令完成以下功能

1)    创建表student(行键为sid)

2)    为表student增加数据(数据类型为字符串)

3)    为表student修改数据(数据类型为字符串)

4)    查看student表的数据

5)    为表teacher删除数据

6)    为teacher表清空数据

7)    查看HBase数据库中所有的表

8)    删除teacher

2.使用JAVA API编程完成以下功能

1)    createTable(String tableName, String[] fields)

2)    addRecord(String tableName, String row, String[] fields, String[] values)

3)    scanColumn(String tableName, String column)

4)    modifyData(String tableName, String row, String column, String value)

5)    deleteRow(String tableName, String row)

6)    测试main()

五、实验结果与分析

1.使用HBase Shell命令完成以下功能

1)    创建表student(行键为sid)

2)    为表student增加数据(数据类型为字符串)

3)    为表student修改数据(数据类型为字符串)

4)    查看student表的数据

5)    为表teacher删除数据

6)    为teacher表清空数据

7)    查看HBase数据库中所有的表

8)    删除teacher

2.使用JAVA API编程完成以下功能

1)    createTable(String tableName, String[] fields)

2)    addRecord(String tableName, String row, String[] fields, String[] values)

3)    scanColumn(String tableName, String column)

4)    modifyData(String tableName, String row, String column, String value)

5)    deleteRow(String tableName, String row)

6)    测试main()

附件下载

Avatar photo

李星海

简介: 2025-今 浙江农林大学 | 2022-今 广州白蓝碗蛋科技有限公司 | 2022-2024 广州商学院 | 2019-2022 广东工贸职业技术学院 | 服务宗旨:心始至客,行亦致远。