DolphinScheduler笔记之10: quartz
之前讲工作流的启动,源头是t_ds_command表,这篇笔记讲讲该表数据是如何写入的,也就是 Crontab 的生效过程。
1. quartz
简单的 crontab 实现方式很多,java.util.Timer、spring @Scheduled、akka scheduler etc.。 quartz1也是一个调度框架,可以集成在 java 程序里,好处是持久化和分布式。
我觉得 quartz 里最重要的概念有三个:
JobDetail: 用户继承该基类实现自己的任务类,执行具体任务
Trigger: 任务触发器,比如一次性触发、Crontab 触发等
Scheduler: 调度器,接收 JobDetail,按照 Trigger 调度
JobBuilder...
《太白金星有点烦》书摘
“如是我闻。这件事佛祖已经跟玉帝讲过,两位都很重视。”
长庚微微眯眼:“连兜率宫都知道了,那岂不是整个天庭都传遍了?后来呢?”太上老君拿袍袖假意一挡,却挡不住双眼放光:“这事我只跟你讲,你可别告诉别人。”不待李长庚答应,太上老君迫不及待道:“我听南天门传来的消息说,奎木郎一见奸情败露,生怕玉帝责罚,直接挟了玉女下凡私奔去了,这个没确认,别瞎传啊。”
这种涉及高层的博弈,不必点破。玉帝只是送了一尾锦鲤,佛祖也只是转达给观音。两位大能均未置一词,全靠底下人默会。以观音之聪睿,自然明白上头已经谈妥了,但这种交换不能宣诸纸面。所以得由她出面,认下这个既成的事实,慧眼识猪,成全猪刚鬣。
只是李长庚没想到,玉帝的手法更加高明,只是送了条锦鲤给佛祖,说是与佛有缘。锦鲤乃...
《窦占龙憋宝 - 七宝八金刚》书摘
古代有饭铺酒馆、茶楼妓院、赌坊酒肆,但说书场在我看来,却是一个不一样的所在,有教化世人的作用。
只因听书的人三教九流,有钱没钱的,卖苦力的、挣大钱的、走江湖的,鱼龙混杂。
这世上有诸多不平事,老百姓听多了,也都有疑问:
“纣王无道,多少忠臣扶保;文王有德,却遭食子之殃;妲己祸国,受的是女娲娘娘差派;姜后贤德,剜眼烙手而亡;奸党费仲尤浑,死后为天上星宿;忠臣梅伯比干,难逃炮烙挖心之殇”
这个时候,就需要说书人了,所以说书里最讲究一个起承转合、前因后果。嬉笑怒骂插科打诨间讲个因果循环,使人敬畏这报应不爽,因缘际会。不为别的,只因信的人多了,道理才是道理。
摘了部分书抄:
天天坐着洋车过来,掐着点儿到书场子,甭管台底下坐了多少听书的,等得如何心急火燎,先生也是不慌不...
《崔老道传奇》书摘
正儿八经的故事内容就不记了,这么一本书,愣是给人看饿了!
摘抄了一部分:
是说祥德斋的枣泥儿馅儿白皮儿点心好吃,那是道光年间就卖出了名的老字号。豆沙馅儿、什锦馅儿的虽说也好,最好吃的可还得说是枣泥儿点心,用的是绥德红枣,带虫子眼儿的全拣出去扔了,先煮后炒,拌上花生油和白砂糖,又甜又沙口,在天津卫久负盛名。
他家的芝麻烧饼最好吃,用麻酱分层,揪出面剂子,拿起来往芝麻笸箩里一按,单面沾上芝麻,放进炉膛里烤,刚出炉的还挺烫,外表焦脆、内里绵香
门口左右两条布招,分别写着“面劲入口滑,汤泼香十里”。不是人家吹牛,羊肉烩面确实地道,口外的羊肉肥而不膻,炖熟了切成块,也有切片的,老汤做底,面条现抻,加上几块羊肉,放上香菜、葱花,浇上山西老...
DolphinScheduler笔记之9: 容错
1. 容错的必要性
分布式系统使用集群提高了算力,也天然需要面对和解决单机不稳定的问题,比如常说的宕机、掉盘、网络抖动等。
Jeff Dean 多年前在斯坦福有过一个分享1,其中一些数字我觉得应该是架构谨记的:
Typical first year for a new cluster:
~1 network rewiring (rolling ~5% of machines down over 2-day span)
~20 rack failures (40-80 machines instantly disappear, 1-6 hours to get back)
~5 racks go wonky (40-80 machines see 50% packet...
知易行难-读《中台落地手记》
中台落地手记 : 业务服务化与数据资产化这本书在豆瓣只有6分,但读起来受益不少。主要有几个原因:
图画的清晰、好看
方便速成
自身做了几年大数据中台
读书笔记按照这几点分别总结。
1. 图
一图胜千言。虽然我的 PPT 画的难看,但是我羡慕 PPT 画的清楚的人,也赞同 PPT 文化。PowerPoint 画的清楚,往往代表着思路清晰、重点明确。有Power、有Point.
图不在于画的好看,而是在于清楚,有取舍、有重点。节取一些架构图:
大数据平台架构:
数据质量: 看这张图的时候,我一直在想数据质量平台应该是先验还是后验平台?
Spark各阶段:
ServiceMesh:
MyCat:
Consul:
Apache Atlas: ...
DolphinScheduler笔记之8: 状态
在工作流的生命周期里,初步介绍过工作流的各种状态。
1. 状态机
如果我们实现一个任务调度系统,首要是梳理清楚任务状态。
以 Flink 任务流程为例:
提交:任务提交后,资源调度需要分配资源、初始化Container、启动JobManager、TaskManager等。因此任务首先是从初始化到提交中,再从提交成功到运行,当然任务也有可能因为各种原因导致提交失败。
运行:运行中的任务,可能会成功,可能会失败,对流式任务,也有可能一直是运行。
停止:任务在任何一个状态,都可能会收到停止的事件,同理会先变成停止中,再变成已停止,如果停止失败,那回到原来的状态。
这个流程包含三元素:
状态:初始化、提交中、运行、成功、失败、已停止,都是任务的状态
事件...
DolphinScheduler笔记之7: 网络模型
DolphinScheduler 使用 Netty 作为网络框架,实现 Master Worker 模块间的 RPC 通信。这篇笔记介绍 DolphinScheduler 基础的网络模型,以及是如何使用 Netty 的。
1. Netty 简介
Netty 是 java 一款高性能的通信框架,使用上跟 C++ RPC 库很像,不像 akka 过于抽象和简洁。
Netty-Server 需要定义两个 NioEventLoopGroup 的线程组,一组用于接受 Client 的连接,一组用于 socket 的网络读写。通过 ServerBootStrap 辅助类,注册 handle 处理链,监听指定端口。
Netty-Client 需要定义一个 NioEventLoopGroup ...
213 post articles, 27 pages.