lacus
Introduction: 大数据平台后端项目
Tags:
Lacus v2.0.0
简单好用的开源大数据平台
- Lacus 是一个开源大数据平台项目,主要解决大数据采集、存储、分析与计算问题,主要包括元数据、数据采集、Flink 开发,Spark 开发,以及资源管理。
- 如果你正在调研一款轻量级的大数据平台,那么这个项目很可能值得你去花点时间研究一下。
- 如果你热爱开源,喜欢折腾,并且对大数据感兴趣,欢迎加入这个项目,或者联系作者加入相关讨论群,交流大数据技术。
- 如果觉得对你有帮助,别忘了顺手点个 ⭐️star⭐️ 哦,你的认可对我们非常重要!!!
如何使用
一、系统截图
- 登录
- 首页
- 元数据-数据源类型
- 元数据-数据源定义
- 元数据-数据表查询
- 数据采集-任务定义
- 数据采集-任务实例
- flink 开发-任务定义
- flink 开发-任务实例
- flink 开发-任务定义
- spark 开发-任务实例
- 统一 API-API 定义
- 资源中心-环境管理
- 资源中心-资源管理
资源中心-分组管理
二、开发环境
JDK
- Mysql
- Redis
- kafka
- flink
- flinkCDC
- yarn
- hadoop
三、技术栈
技术 | 说明 | 版本 |
---|---|---|
java |
java | 1.8 |
springboot |
Java web 框架 | 2.7 |
druid |
数据库连接池 | 1.2.8 |
mybatis-plus |
数据库框架 | 3.5.2 |
kafka |
消息队列 | 3.6.0 |
flink |
flink 流处理框架 | 1.16.2 |
flink-cdc |
cdc connector | 2.3.0 |
hadoop |
hadoop | 2.8.5 |
zookeeper |
分布式协调服务 | 3.9.1 |
spark |
spark 批处理框架 | 2.4.5, 3.4.2 |
doris |
MPP 数据库 | 2.1.2 |
redis |
redis 缓存 | 最新版本 |
四、快速开始
1. 前置准备
- 代码下载
前端项目代码:git clone https://github.com/eyesmoons/lacus 后端项目代码:git clone https://github.com/eyesmoons/lacus-ui docker 部署:git clone https://github.com/eyesmoons/lacus-docker
- 安装 Mysql
- 安装 Redis
- 安装 kafka
- 安装 hadoop
2. flink 资源准备
- hdfs 中上传
flink 1.16.2
所需的 jar 包,目录为:/rtc/libs
; - flink 配置文件目录:
/rtc/conf
; - flink 任务所需的 jar 包目录为:
/rtc/engine/lacus-rtc-engine.jar
,此 jar 包由lacus-rtc-engine
项目打包而来 目录结构如下所示。
如果嫌麻烦,不想一个一个的去寻找相关 jar 包,我将 flink 1.16.2 所有资源及配置文件放到了我的百度网盘中了。
微信关注"毛毛小妖的笔记"公众号,公众号回复关键字"lacus",即可获得专属网盘链接和密码。
3. 后端启动
- 生成所需的数据库表
找到后端项目根目录下的 sql 目录中的 lacus.sql 脚本文件,导入到你新建的数据库中。
- 修改配置文件:lacus-core
application-dev.yml:修改 Mysql 数据库以及 Redis 信息。
application-basic.yml:修改 yarn、hdfs 和 kafka 等信息。
- 项目编译
在根目录执行 mvn install
- 启动项目
找到 lacus-admin 模块中的 LacusApplication 启动类,直接启动即可。
4. 前端启动
- cd lacus-ui
- npm install
- npm run dev
打包部署
1. 打包
mvn clean package -Dmaven.test.skip=true
打包完生成的文件为:lacus-dist/target/lacus-dist-2.0.0-all.tar.gz
2. 上传
将打包之后的 jar 包上传至服务器:lacus-dist-2.0.0-all.tar.gz
3. 解压
tar -zxvf lacus-dist-2.0.0-all.tar.gz
解压完的目录为:
lacus-dist-2.0.0
├── bin -- 启动脚本
├── boot -- 启动 jar 包
├── conf -- 配置文件
├── doc -- 文档
├── docker -- docker 相关文档
├── lib -- 依赖 jar 包
└── sql -- 项目用到的 sql 脚本
4. 修改配置文件
修改解压完的 conf 目录下的配置文件,可根据需要修改
5. 启动
cd lacus-dist-2.0.0/bin
sh lacus-admin.sh start
6. 其他命令
# 查看启动状态
sh lacus-admin.sh status
# 停止
sh lacus-admin.sh stop
# 重启
sh lacus-admin.sh restart
系统功能
功能 | 描述 | 状态 |
---|---|---|
元数据管理 | 根据源库表管理所有元数据信息 | 已完成 |
数据服务 | 通过 API 接口,对外提供获取数据能力 | 已完成 |
数据采集 | 通过可视化配置,一键部署实时数据采集任务 | 已完成 |
spark 开发 | 通过可视化配置,在线提交 spark 批处理任务 | 已完成 |
flink 开发 | 通过可视化配置,在线提交 flink 流处理任务 | 已完成 |
资源管理 | 提供 Hdfs 资源管理,方便管理 hdfs 文件 | 已完成 |
项目结构
lacus
├── lacus-admin -- api 接口模块
├── lacus-common -- 公共模块
├── lacus-core -- 核心基础模块
├── lacus-dao -- 数据库交互模块
├── lacus-datasource-plugin -- 数据源插件模块
├── lacus-dist -- 打包模块
├── lacus-domain -- 业务领域模块
├── lacus-flink-sql-app -- flink sql 模块,需要单独打包
├── lacus-rtc-engine -- 实时采集引擎,需要单独打包
├── lacus-service -- 服务层
├── lacus-spark-sql-app -- spark sql 模块,需要单独打包
└── sql -- sql 脚本
注意事项
- 如需要生成新的表,请使用 CodeGenerator 类进行生成。
- 填入数据库地址,账号密码,库名。然后填入所需的表名执行代码即可。
欢迎关注以下公众号,留言或公众号回复"交流"加入技术交流群,一起学习。