gitlab
搭建在自家的nas上,k3s
部署于阿里云的ecs,自己提交代码后,通过gitlab runner自动执行pipeline。cicd
自动执行2个操作:
- nas代码自动备份到github
- 博客自动发布到github pages
gitlab
搭建在自家的nas上,k3s
部署于阿里云的ecs,自己提交代码后,通过gitlab runner自动执行pipeline。cicd
自动执行2个操作:
存储层由hdfs迁移到minio,基于hadoop的distcp
做数据迁移
dolphinscheduler的调度任务有flink流任务,flinkx数据同步,默认仅支持flink on yarn,
本文记录了折腾flink on k8s的踩坑过程,主要难点是flink on k8s自身不支持pvc带来的各种妥协,
镜像的制作,hive的兼容。
dolphinscheduler这个调度任务有spark,spark默认支持yarn。
本文主要梳理sparkTask如何支持早k8s部署的思路。
理论上dolphinscheduler只是一个调度平台,和task的resource provider是解耦合的。flink和spark这方面本身设计做的比较好,调试支持local,生产支持k8s,yarn,mesos。
目前ds的task从资源的角度可以分2类:
在云原生时代,
第1类任务:只需要制作对应的镜像,直接提交即可。
第2类任务:需要对应的task类型支持k8s部署,比如spark on k8s ,flink on k8s,然后客户端提交需要做各种pvc的配置。
目前只hive,sqoop,mapreduce等都是继承AbstractYarnTask。
和具体的实现绑定,应该是定义远程计算执行的task接口,task中根据需要,组合yarn或k8s等实现。
dolphinscheduler的调度任务有spark,默认仅支持spark on yarn,
本文记录了折腾spark on k8s的踩坑过程,主要难点是镜像的制作,kerberos认证和hive的兼容
dolphinscheduler的调度任务有flink流任务,flinkx数据同步,这两类任务目前是批任务的思路,阻塞等待任务结束,缺少流任务的异步监控,需要做一些非阻塞的改造。
dolphinscheduler中使用zookeeper实现自杀机制,用于解决
dolphinscheduler和zookeeper网络分区时发生的脑裂问题,
比如master容错时,当前master与zk失联,任务被其他master接管,然后master又脸上了,这个时候要master需要自杀,避免master更新db造成混乱
spark minikube测试
binlog日志实时采集,支持按事物聚合输入到flink udf中进行处理
binlog日志实时采集,支持按事物聚合输入到flink udf中进行处理
dolphinscheduler可以通过shell节点校验数据是否符合要求
1 | PT_DATE=${system.biz.date} |
1 | set -e |
1 | set -e |
记录spark jdbc做数据同步的问题和解决方案
flink-1.10.2的fink-conf.yaml配置文件说明
DSS工作流实现相关笔记
DataSphereStudio工作流集成DolphinScheduler调度引擎的实现思路梳理,从鉴权、资源同步、任务执行等角度分析
dolphinscheduler这个dag的任务类型就差flink就都玩个遍了.
简单记录一下,flink word count入门小实验。
visualis是微众基于宜信davinci,为dss定制二开的BI工具。界面清爽,功能齐全。
如果想独立部署一个BI工具,单独接davinci就可以。
davinci设计理念面向的是开发者,不是直接面向最终业务用户的,对非专业用户来说,用户体验不是特别好。
DataSphere Studio
(DSS)是一个数据应用集成平台的开源方案,已集成scriptis
数据开发IDE,davinci
可视化报表,和qualitis
数据质量。
另外dss最强的是支持采用DAG工作流将上述组件进行可视化调度编排,目前调度系统支持接入azkaban
和airflow
,也可自行集成其他调度系统,调度任务底层的作业执行引擎可接入linkis计算中间件;
本文主要的关注点是dss的组件构成
,以及dss和linkis的组件交互
;