基于Hbase和SpringBoot的分布式HOS文件存储系统(一)

简介: 基于Hbase和SpringBoot的分布式HOS文件存储系统

核心模块设计思路

数据库建表语句

1. CREATE DATABASE IF NOT EXISTS hos
2. DEFAULT CHARACTER SET UTF8
3. COLLATE UTF8_GENERAL_CI;
4. 
5. USE hos;
6. 
7. --
8. -- Table structure for table `USER_INFO`
9. --
10. DROP TABLE IF EXISTS USER_INFO;
11. 
12. CREATE TABLE USER_INFO
13. (
14.   USER_ID     VARCHAR(32) NOT NULL,
15.   USER_NAME   VARCHAR(32) NOT NULL,
16.   PASSWORD    VARCHAR(64) NOT NULL
17.   COMMENT 'PASSWORD md5',
18.   SYSTEM_ROLE VARCHAR(32) NOT NULL
19.   COMMENT 'ADMIN OR USER',
20.   CREATE_TIME TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP,
21.   DETAIL      VARCHAR(256),
22. PRIMARY KEY (USER_ID),
23. UNIQUE KEY AK_UQ_USER_NAME (USER_NAME)
24. )
25.   ENGINE = InnoDB
26. DEFAULT CHARSET = utf8
27.   COMMENT = '用户信息';
28. 
29. --
30. -- Table structure for table `TOKEN_INFO`
31. --
32. 
33. DROP TABLE IF EXISTS TOKEN_INFO;
34. 
35. CREATE TABLE TOKEN_INFO
36. (
37.   TOKEN        VARCHAR(32) NOT NULL,
38.   EXPIRE_TIME  INT(11)     NOT NULL,
39.   CREATE_TIME  TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP,
40.   REFRESH_TIME TIMESTAMP   NOT NULL,
41.   ACTIVE       TINYINT     NOT NULL,
42.   CREATOR      VARCHAR(32) NOT NULL,
43. PRIMARY KEY (TOKEN)
44. )
45.   ENGINE = InnoDB
46. DEFAULT CHARSET = utf8
47.   COMMENT = 'token 信息表';
48. 
49. --
50. -- Table structure for table `HOS_BUCKET`
51. --
52. 
53. DROP TABLE IF EXISTS HOS_BUCKET;
54. 
55. CREATE TABLE HOS_BUCKET (
56.   BUCKET_ID   VARCHAR(32),
57.   BUCKET_NAME VARCHAR(32),
58.   CREATE_TIME TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP,
59.   DETAIL      VARCHAR(256),
60.   CREATOR     VARCHAR(32) NOT NULL,
61. UNIQUE KEY AK_KEY_BUCKET_NAME(BUCKET_NAME),
62. PRIMARY KEY (BUCKET_ID)
63. )
64.   ENGINE = InnoDB
65. DEFAULT CHARSET = utf8
66.   COMMENT = 'HOS BUCKET';
67. 
68. --
69. -- Table structure for table SERVICE_AUTH
70. --
71. 
72. DROP TABLE IF EXISTS SERVICE_AUTH;
73. 
74. CREATE TABLE SERVICE_AUTH
75. (
76.   BUCKET_NAME  VARCHAR(32) NOT NULL,
77.   TARGET_TOKEN VARCHAR(32) NOT NULL
78.   COMMENT '被授权对象token',
79.   AUTH_TIME    TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP,
80. PRIMARY KEY (BUCKET_NAME, TARGET_TOKEN)
81. )
82.   ENGINE = InnoDB
83. DEFAULT CHARSET = utf8
84.   COMMENT = '对象存储服务授权表';
85.


目录
相关文章
|
5月前
|
NoSQL Java 调度
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
分布式锁是分布式系统中用于同步多节点访问共享资源的机制,防止并发操作带来的冲突。本文介绍了基于Spring Boot和Redis实现分布式锁的技术方案,涵盖锁的获取与释放、Redis配置、服务调度及多实例运行等内容,通过Docker Compose搭建环境,验证了锁的有效性与互斥特性。
410 0
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
|
12月前
|
NoSQL Java Redis
Springboot使用Redis实现分布式锁
通过这些步骤和示例,您可以系统地了解如何在Spring Boot中使用Redis实现分布式锁,并在实际项目中应用。希望这些内容对您的学习和工作有所帮助。
1239 83
|
9月前
|
监控 Java 调度
SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战
本文对比分析了SpringBoot中的`@Scheduled`与Quartz定时任务框架。`@Scheduled`轻量易用,适合单机简单场景,但存在多实例重复执行、无持久化等缺陷;Quartz功能强大,支持分布式调度、任务持久化、动态调整和失败重试,适用于复杂企业级需求。文章通过特性对比、代码示例及常见问题解答,帮助开发者理解两者差异,合理选择方案。记住口诀:单机简单用注解,多节点上Quartz;若是任务要可靠,持久化配置不能少。
835 4
|
存储 Java 文件存储
Spring Boot 3 整合 Minio 实现文件存储
本文介绍了如何使用 Spring Boot 3 整合 MinIO 实现文件存储服务。MinIO 是一款高性能的对象存储服务器,适合大规模数据存储与分析,支持多种部署环境且文档完备、开源免费。从 MinIO 的快速安装、配置文件公开访问,到 Spring Boot 中集成 MinIO 客户端的步骤,包括创建用户访问密钥、引入依赖包、添加配置信息、编写 MinIO 客户端配置类及上传和预览文件的服务代码。最后通过 Apifox 进行文件上传测试,并验证文件是否成功存储及预览功能是否正常。关注公众号“Harry技术”,回复 minio 获取源码地址。
1087 76
|
存储 Java 关系型数据库
在Spring Boot中整合Seata框架实现分布式事务
可以在 Spring Boot 中成功整合 Seata 框架,实现分布式事务的管理和处理。在实际应用中,还需要根据具体的业务需求和技术架构进行进一步的优化和调整。同时,要注意处理各种可能出现的问题,以保障分布式事务的顺利执行。
1302 160
|
10月前
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
352 12
|
11月前
|
存储 Java 文件存储
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
本文介绍了如何基于Spring Boot 3和MinIO实现分布式文件存储。随着应用规模扩大,传统的单机文件存储方案难以应对大规模数据和高并发访问,分布式文件存储系统成为更好的选择。文章详细讲解了MinIO的安装、配置及与Spring Boot的整合步骤,包括Docker部署、MinIO控制台操作、Spring Boot项目中的依赖引入、配置类编写及工具类封装等内容。最后通过一个上传头像的接口示例展示了具体的开发和测试过程,强调了将API操作封装成通用工具类以提高代码复用性和可维护性的重要性。
2375 7
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
|
缓存 NoSQL Java
Spring Boot中的分布式缓存方案
Spring Boot提供了简便的方式来集成和使用分布式缓存。通过Redis和Memcached等缓存方案,可以显著提升应用的性能和扩展性。合理配置和优化缓存策略,可以有效避免常见的缓存问题,保证系统的稳定性和高效运行。
413 3
|
9月前
|
分布式计算 Ubuntu Hadoop
Ubuntu22.04下搭建Hadoop3.3.6+Hbase2.5.6+Phoenix5.1.3开发环境的指南
呈上,这些步骤如诗如画,但有效且动人。仿佛一个画家在画布上描绘出一幅完美的画面,这就是你的开发环境。接下来,尽情去创造吧,祝编程愉快!
616 19
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
373 4

热门文章

最新文章