平时喜欢研究一些东西,也愿意学习一些,但是进来发现自己有一些有心无力的感觉,对于一些东西想去学习,但是又提不起精神,所以想开源出来,大家一些讨论,一起学习。
酝酿一年的时间,中途修改了很多版本,功能推到了重做,为了一供能绞尽脑汁寻求解决办法,半夜还在想如何把一个功能实现,各种尝试,各种想法,最后终于走出来。但是,大多的时候,都是走不出来的,因为局限于自身的水平,自己的认知水平。
由于当前项目设计上存在一些问题,本应该一体的东西么有同步起来,而且在设计上,没有统一好全局的功能拆分。虽然是一个数据平台,对于数据同步、数据血缘的管理、任务管理等方面特性么有规划好,有拼凑的嫌疑,但是改起来又费劲儿,所以呢,不想维护了,想从头开始做一个细的数据平台。
代码地址:
前端:poemp/pipe-frontend
azkaban:
azkaban: Azkaban workflow manager.https://gitee.com/lyw2010/azkaban
任务:https://gitee.com/lyw2010/ajobhttps://gitee.com/lyw2010/ajob
slave
https://gitee.com/lyw2010/gslavehttps://gitee.com/lyw2010/gslave命令行
https://gitee.com/lyw2010/clihttps://gitee.com/lyw2010/cli
特点使用的语言,使用到的语言有JAVA, SCALA, GO,SHELL,还有前端技术,有一点庞杂。其中尝试的东西比较多,比如监控节点的信息,使用的GO编写的,初始化和系统的发布使用JAVA+SHELL脚本,而指标的运算使用的是SCALA编写,主程序使用的是JAVA编写。
说到特点,有以下特点。
- 使用SEATA作为分布式事务的协调管理;
- 使用SENTINEL作为对系统资源的限制访问
- 使用ELK日志收集平台对日志进行收集和分析、日志搜索,基于traceId的调用链日志分析
- 使用AZKABAN作为任务流调度工具
- 使用NEO4J作为数据血缘存储工具
- JDBC数据源元数据获取保存、元数据版本和标签管理
- 半结构化数据元数据信息获取保存和数据导入管理
- JDBC和元数据的分析和获取
- MYSQL数据库数据增量、全量同步
- POSTGRES数据的数据增量、全量同步
- 使用增量字段的数据增量同步
- 不同数据库之间的数据类型转移
- 系统监控(GO开发)
- 系统自动运维(服务器初始化、系统初始化、springboot+springcloud架构系统的自动发布管理,系统运行状态监控(JAR的方式), 系统DOCKER进程管理,系统jar进程管理)(JAVA+SHELL)
- 指标管理和任务调度(SCALA)
- 任务管理(数据同步监控、任务创建)
- 系统远程登录管理
好了,就这些,一下是一些简单的功能截图。
1、登录登录,登录使用的默认密码是admin/123456,
2、权限管理权限管理,可以动态管理用户的权限,以及机构下的部门,下级部门,修改默认权限。
3、数据资产管理数据源管理
数据源下的数据表
文件元数据管理,可以根据不同的数据库创建数据表,并且导入数据
指标元数据
JDBC元数据管理(自动获取)
元数据详情管理
新建BI任务
日志管理
日志详情
调用链
日志检索
AND。。。
还有很多功能没有介绍,复杂的是系统的部署
MYSQL的数据增量同步需要使用到canal的部署,POSTGRES的插件安装和链接,都需要花费大量的时间。系统中有详细的说明。
系统存在问题存在问题有前言里面说明的,还有数据同步和数据血缘的联动、数据增量同步的自动管理,任务日志的划分上传备份,数据质量管理,标签,预警功能,自动运维,与rancher或合适k8s联动做一些事情等等。希望能够完完全全的做一个真正的数据平台处理,使用的是真正的数据平台相关的技术和一些工具的特点,而不是仅仅把自己局限于一个业务系统之中,久久不能脱离自身水平的束缚。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)