- Lacus是一个开源大数据平台项目,主要解决大数据采集、存储、分析与计算问题,主要包括元数据、数据采集、数据服务、数据开发。
- 如果你正在调研一款轻量级的大数据平台,那么这个项目很可能值得你去花点时间研究一下。
- 如果你热爱开源,喜欢折腾,并且对大数据感兴趣,欢迎加入这个项目,或者联系作者加入相关讨论群,交流大数据架构及开发技术。
- 如果觉得对你有帮助,别忘了顺手点个 ⭐️star⭐️ 哦,你的认可对我们非常重要!!!
用户名:demo
密码:123456
- 登录
- 元数据-数据源类型
- 元数据-数据源定义列表
- 元数据-新增数据源
- 元数据-数据表查询列表
- 元数据-数据表详情
- 数据同步-任务分组列表
- 数据同步-任务定义列表
- 数据同步-启动任务
- 数据同步-输入源配置
- 数据同步-表映射关系配置
- 数据同步-字段映射关系配置
- 数据同步-任务参数配置
- 配置中心-环境管理
- JDK
- Mysql
- Redis
- kafka
- flink
- flinkCDC
- yarn
- hadoop
技术 | 说明 | 版本 |
---|---|---|
springboot |
Java web 项目必备框架 | 2.7 |
druid |
alibaba数据库连接池 | 1.2.8 |
mybatis-plus |
数据库框架 | 3.5.2 |
kafka |
用来做数据缓冲和解耦 | 2.1.1 |
flink |
flink项目必备 | 1.16.2 |
mysql-flink-cdc |
mysql cdc connector | 2.3.0 |
yarn |
资源调度框架 | 3.3.6 |
hdfs |
主要提供hdfs存储 | 3.3.6 |
apache doris |
MPP数据库 | 2.0.2 |
- 项目代码下载
前端项目代码:git clone https://github.com/eyesmoons/lacus
后端项目代码:git clone https://github.com/eyesmoons/lacus-ui
- 安装 Mysql
- 安装 Redis
- 安装 kafka
- 安装 hadoop
- hdfs 中上传
flink 1.16.2
所需的jar包,目录为:/flink/libs
; - flink配置文件目录:
/flink/conf
; - flink 任务所需的 jar 包目录为:
/flink/jobs/flink-jobs.jar
,此 jar 包由lacus-rtc-engine
项目打包而来 目录结构如下所示。
如果嫌麻烦,不想一个一个的去寻找相关 jar 包,我将 flink 1.16.2 所有资源及配置文件放到了我的百度网盘中了。
微信关注"毛毛小妖的笔记"公众号,公众号回复关键字"lacus",即可获得专属网盘链接和密码。
- 生成所需的数据库表
找到后端项目根目录下的 sql 目录中的 lacus.sql 脚本文件,导入到你新建的数据库中。
- 修改配置文件:lacus-core
application-dev.yml:修改 Mysql 数据库以及 Redis 信息。
application-basic.yml:修改 yarn、hdfs 和 kafka 等信息。
- 项目编译
在根目录执行 mvn install
- 启动项目
找到lacus-admin模块中的 LacusApplication 启动类,直接启动即可。
- cd lacus-ui
- npm install
- npm run dev
mvn clean package -Dmaven.test.skip=true
打包完生成的文件为:lacus-dist/target/lacus-dist-1.0.0-all.tar.gz
将打包之后的jar包上传至服务器:lacus-dist-1.0.0-all.tar.gz
tar -zxvf lacus-dist-1.0.0-all.tar.gz
解压完的目录为:
lacus-dist-1.0.0
├── bin -- 启动脚本
├── boot -- 启动jar包
├── conf -- 配置文件
├── doc -- 文档
├── docker -- docker相关文档
├── lib -- 依赖jar包
└── sql -- 项目用到的sql脚本
修改解压完的conf目录下的配置文件,可根据需要修改
cd lacus-dist-1.0.0/bin
sh lacus-admin.sh start
# 查看启动状态
sh lacus-admin.sh status
# 停止
sh lacus-admin.sh stop
# 重启
sh lacus-admin.sh restart
功能 | 描述 | 状态 |
---|---|---|
元数据管理 | 根据源库表管理所有元数据信息 | 已完成 |
数据服务 | 通过API接口,对外提供获取数据能力 | 前端待开发 |
数据同步 | 通过可视化配置,一键部署采集任务 | 前端待完善 |
数据开发 | 通过可视化配置,在线提交数据开发任务 | 开发中 |
lacus
├── lacus-admin -- api接口模块
├── lacus-common -- 公共模块
├── lacus-core -- 核心基础模块
├── lacus-dao -- 数据库交互模块
├── lacus-dist -- 打包模块
├── lacus-domain -- 业务领域模块
├── lacus-service -- 服务层
├── lacus-rtc-engine -- 实时采集引擎
└── sql -- sql脚本
- idea会自动将.properties文件的编码设置为ISO-8859-1,请在Settings > Editor > File Encodings > Properties Files > 设置为UTF-8
- 如需要生成新的表,请使用CodeGenerator类进行生成。
- 填入数据库地址,账号密码,库名。然后填入所需的表名执行代码即可。