2023 级课堂测试试卷—HBASE数据库应用-科技成果基本信息填报,搭建Hbase集群,java项目连接Hbase数据库,解决getSubject is supported only if a security manager is allowed
项目需求
一: 搭建hadoop集群
二: 搭建zookeeper集群
三: 搭建Hbase集群
四: java项目连接Hbase数据库
五: 编写前后端完成项目需求
项目需求


一: 搭建hadoop集群
直接使用其中的快照三,hadoop,hive都已经配置好了。
对于没有基础不知道怎么操作的同学,我建议要跟着视频操作一下,重点有以下几个章节


二: 搭建zookeeper集群
讲得很全面,不过这个zookeeper的压缩包也可以搜索黑马程序员zookeeper的相关视频获取。
这是要改的笔记
/export/data/zkdata
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
三: 搭建Hbase集群
正好,这个视频没有前面搭建zookeeper集群的部分,这样就完整了。
四: java项目连接Hbase数据库
实际上就两个类的代码getConnect和TestConnect
HBaseConnect来连接hbase数据库
点击查看代码
package com.example;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import java.io.IOException;
public class HBaseConnect {
public static Connection getConnect() {
Connection conn = null;
try {
Configuration config = HBaseConfiguration.create();
// 指定各节点主机名(需提前在hosts配置)
config.set("hbase.zookeeper.quorum", "node1,node2,node3");
// 添加以下配置来解决安全管理器问题
config.set("hbase.security.authentication", "simple");
config.set("hbase.rpc.protection", "authentication");
conn = ConnectionFactory.createConnection(config);
System.out.println("已经连接成功");
} catch (Exception e) {
System.err.println("连接失败: " + e.getMessage());
e.printStackTrace();
}
return conn;
}
public static void closeConn(Connection connect) {
if (connect == null) {
System.out.println("连接为空,无需关闭");
return;
}
try {
if (!connect.isClosed()) {
System.out.println("关闭HBase连接");
connect.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
不过直接运行的话会报一个错:getSubject is supported only if a security manager is allowed
修改报错
打开 IntelliJ IDEA
转到 Run -> Edit Configurations...
选择您的 TestConnect 运行配置
在 VM options 字段中添加:
-Djava.security.manager=allow
点击 OK 保存并重新运行程序,注意要在springboot和TestConnect的配置中都添加。

可能会有第二个报错:
org.apache.hadoop.util.Shell -- Failed to locate the winutils binary in the hadoop binary path
Hadoop在Windows环境下需要 winutils.exe 工具来支持本地文件系统操作,但程序未能找到该可执行文件。
需要下载并配置winutils:
下载对应Hadoop版本的winutils 下载地址,也可以在黑马程序员的hbase视频中获取
解压到C:\hadoop\bin目录
添加系统环境变量:
HADOOP_HOME=C:\hadoop
在Path中添加%HADOOP_HOME%\bin
五: 编写前后端完成项目需求
项目代码:
我用夸克网盘给你分享了「源代码」,点击链接或复制整段内容,打开「夸克APP」即可获取。
/336638INyp😕
链接:https://pan.quark.cn/s/437597101daa?pwd=YBEW
提取码:YBEW
项目结构及说明,可以看readme文档

运行截图:



浙公网安备 33010602011771号