最新要闻
- 环球百事通!《消失的她》总票房破7亿 连续四天单日票房破亿
- 贾若祥:水资源保护和产业协同发展
- 信通院:2023年5月国内手机出货量2603.7万部,5G手机占比77.5%-环球动态
- 天天速看:“千模大战”打响,李彦宏给AI应用划重点
- 瑞典一游乐园发生过山车事故 致1人死亡9人受伤
- 最新消息:端午假期,这里预约场场爆满!
- 苹果手机怎么找回id密码显示无法验证账户是怎么回事_苹果手机怎么找回id密码
- 蜗牛鲍勃在线玩_蜗牛鲍勃太空版攻略
- 环球快消息!看书的好处的名句_看书的好处
- 每日看点!国际禁毒日丨警惕!这些新型毒品的“花式伪装”要小心
- 从单向帮扶到高质量的“双向奔赴” 广东汕尾把特区“搬进家”
- 环球看热讯:广州财政厅人事(广州财政厅)
- 全球快资讯:lol封号查询对不起您没有登陆解决方法
- 环球快报:城市夜经济、县域直播……网商银行小微观察站发布2023年小微经济8大新亮点
- 为什么千万不要停息挂账?可能会有这些后果-天天头条
- 6月26日午间评论 环球关注
手机
外交部:支持有助于缓和伊核局势的努力
第三届全球饶商大会举行 现场签约项目总额达303.8亿元
- 外交部:支持有助于缓和伊核局势的努力
- 第三届全球饶商大会举行 现场签约项目总额达303.8亿元
- 从江县加榜乡:筹资筹劳共发力 和美乡村共参与
- DNF:搬砖白图全军覆没!只剩下2大砖厂,工作室成最大赢家-世界动态
- 独山子石化公司这项技术创新再突破
- 动态焦点:一个词读懂 中国为何要援建坦赞铁路?
家电
日均调度 10W+ 任务实例,DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用改造 世界短讯
大家好我是张金明,在蔚来汽车担任大数据平台研发工程师。这次和大家分享的是 Apache DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用和改造,接下来我将从背景、应用现状和技术改造三个方面去分享一下。
(资料图)
背景
业务痛点
在蔚来汽车构建一个统一的数据中台之前,我们面临这样一些业务痛点和困境:
数据缺乏治理,数仓不规范、不完整
- 没有统一的数据仓库,无全域的数据资产视图
- 存在数据孤岛;
工具散乱,用户权限不统一、学习成本高
- 用户需要在多个工具之间切换,导致开发效率降低
- 底层运维成本高;
数据需求响应周期长,找数难、取数难
- 无沉淀的数据资产与中台能力,重复处理原始数据;
- 业务数据需求从提出到获取结果的周期长
基于这些痛点和问题,我们构建了一个公司层面的业务中台,内部叫做 DataSight。
我们可以看到,最底下是我们的一些基础组件;往上一层,这些基础组件主要是支撑了一些数据接入与开发的模块;再向上是我们的数据治理,以及数据资产与应用层。其中,Apache DolphinScheduler 这个调度器在公司主要应用于交互的模块,就是数据开发和数据运维两个模块。
数据开发中,调度任务开发主要就是用到了 Apache DolphinScheduler,通过 API 和调度器进行交互。
应用现状
作业现状
目前,我们的机器共有 9 台,分别是两台 Master机器,是8c 和 32G;六台 Worker 机器,16c 和 64G,以及一台 Alert 机器,8c 和 32G。
版本是更新到了 Apache DolphinScheduler 2.0.7,后续的目标是升级到 2.0.8 版本,2.0 版本已经能够支撑我们的业务了,整体的稳定性还是比较好的。
我们其实是从 2022 年 4 月份开始才真正地在线上运行 Apache DolphinScheduler,直到今天大概运行了一年一个月多的时间,日均的调度工作流实例大概在 4w+,日均调度任务实例大概在 10w+ 左右,主要节点是 Spark 节点、SparkSQL、prestoSQL、Python 和 Shell,其中 Spark 节点占比约 70%。
目前这些节点已经能够支撑我们的大部分业务,后续我们可能会把 DolphinScheduler 自带的一些节点加到我们的数据开发模块里面来。
技术改造
为了适应我们业务的需求,我们对 Apache DolphinScheduler 进行了一些技术改造。首先是稳定性方面的工作。
稳定性
- 滚动重启+黑名单机制+精准路由
这个改造是因为我们遇到的一些痛点,首先,大家知道,DolphinScheduler 的 Worker 重启机制在重启时会把所有的任务给 kill 掉,然后去Restart 这个任务,把这个 kill 的任务分发到新的 Worker 机器上。这样会导致任务执行时间较长。这不符合我们的预期。
同时,我们也无法在特定的 Worker 上进行验证任务。
对此,我们的解决方案就是滚动重启,在重启某台机器之前先下线这台机器,也就是加上黑名单,这样的话,Master 机器就不会给这台下已经下线的机器去分发 worker 任务。这台机器会在上面的任务全部处理完毕后自动上线,也就是移出这个黑名单。接下来所有的 woker 节点都按照此种方式重启,达到平滑重启的目的。
这样做的好处在于不会阻塞每个任务的执行,集群在重启的时候稳定性能得到大幅提升。
另外,我们还做了精准路由的工作。也就是在任务名后加特定后缀,实现精准路由到某台机器上。
如图所示,我们在这个任务后面加一个 specific dispatch-worker02 的话,那这个任务一定会被分配到Worker02 这台机器上去。这样的好处在于,假设我们想要去某一个功能点,我们只需要把某一台 Worker 机器下线重启,需要测试的功能点按照这个方式就一定能够打到这台特定的机器上去,实现最小范围的灰度,有助于提高稳定性。
- 优化存储
在存储方面,我们痛点也很明显,就是 process instance和task instance 这两张表数据量是比较大的,由于我们每天的数据量比较大,目前已经达到了千万级别,造成 MySQL 的存储压力比较大。另外,部分 SQL 执行时间长,业务响应变慢;而且 DDL 时会造成锁表,导致业务不可用。
针对这些问题,我们的解决方案包括去梳理所有的慢 SQL,然后去添加合适的索引。与此同时,还有降低查询频率,特别是针对依赖节点。因为我们知道依赖节点每 5 秒钟查询一次数据库,所以我们根据依赖节点所在的 tasks instance ID 去做一个“打散”,偶数节点每 30 秒查询一次,奇数节点每 30 秒查询一次,把他们分开来降低对整个数据库的查询压力。
另外,为了减轻表数据量大的问题,我们也做了一个定期删除的策略,以及定时同步历史数据的策略。
定时删除就是我们利用 DolphinScheduler 自身的调度能力建立两个工作流去删除这两张表,保证 process instance 这张表保留两个月的数据,task instance 这张表保留一个月的数据。同时在删表的时候,我们要注意在非业务高峰期时去做这个动作,每次删表的时候,batch size 要控制好,尽量不要影响线上的任务。
定时同步历史数据,就是我们针对 process instance 这个表,依据 schedule time 按年去分表;针对 task instance 这张表,按 first submit time 按月去分表。
- Spark 任务优化
我们提交 Spark 任务的方式是通过 Sparks Submit 去提交的,它的缺点在于提交 Spark 任务后,常驻机器,导致机器内存过大,会有机器宕机的风险,worker 的运行效率较低。
我们优化了 Spark 任务提交和运行的逻辑,就是通过 Spark Submit 提交的时候添加 spark.yarn.submit.waitAppCompletion=false
这个参数,这样任务提交完以后这个进程就消失了。考虑到要保证 worker 机器任务的线程和 Spark 和 Yarn 上的状态一致,我们间隔一定时间查询 Spark 任务状态,如图所示:
这里是一个 while true 循环,首先去判断这个任务是否超时。如果任务已经超时就会结束这个 Spark 任务,同时会 kill 掉集群上那个真正在跑的任务。
如果任务没有超时,我们会去获取任务的状态,如果任务状态是终止状态,就直接跳出这个循环,否则会间隔一定的时间,比如 30 秒,再继续这个 while true 循环。这种方式让整个 worker 机器所能承载的 Spark 任务大大增加。
易用性
接下来再看一些我们在易用性方面的改造工作吧!
- 依赖节点优化
我们的依赖节点之前的痛点在于,它的使用规则不太符合用户的需求,比如之前是单次查询不到上游即失败;日志内容显示信息不全,对用户不友好;用户无法自定义依赖范围。
针对这些问题,我们做的工作包括修改了查询逻辑为继续等待,就是说当这个任务查询不到上游的时候,我们会继续等待,而不是直接失败。同时我们会也有个极端的保证,就是这个依赖节点超过 24 小时以后就让它自动失败,然后给用户发一个报警。
针对依赖节点,我们也做了强制成功这样一个小trick,并支持用户自定义依赖范围。
另外,我们还优化了依赖节点的日志输出,当用户点击依赖节点的日志的时候,可以比较清楚地看到依赖的上游所在的空间,这个空间内任务所对应的维护人是什么,以及工作流节点是什么和完成状态,让用户可以点对点地找到上游的同学,快速解决这个依赖节点卡住的问题。
- 补数任务优化
针对补数之前的痛点,比如补数任务没有进度提示,并行补数流程实例不严格按照时间顺序,停止并行补数任务逻辑比较麻烦等问题,我们的解决方案包括并行任务引入线程池,也就是把任务按照时间顺序一个一个抛到新建的线程池里,执行完毕以后退出这个线程池,然后再放一个新的进来,达到并行补数的状态。同时,执行时间按递增的顺序。
当我们想停止这个补数任务的时候也比较简单,直接把这个线程池 shutdown 就行。
- 多 SQL 执行
最后是关于多 SQL 执行方面的优化。我们之前面临的痛点包括:
- 多 SQL 需要多节点执行浪费集群资源;
- 自定义环境变量无法实现;
- 无法跟踪 SparkSQL 的运行日志。
我们的解决方案包括拆分这条 SQL,支持多条 SQL 同时执行。
与此同时,我们可以在 SparkSQL 任务执行之前拦截执行select engine_id() as engine_id
语句。如上图所示,对于 SQL 1 和 SQL 2,之前我们会在两个任务里面去放着,但是现在可以在一个任务节点里面放下来,它会执行两次。同时我们可以清晰地看到这个 SparkSQL 所在的 application ID 是什么,用户能够清晰地根据这个 application ID 找这个业务所在的地址,了解这个作业的进度。
本文由 白鲸开源 提供发布支持!
关键词:
-
日均调度 10W+ 任务实例,DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用改造 世界短讯
![file](https: img2023 cnblogs com other 2685289 202306 2685289-2
来源: 日均调度 10W+ 任务实例,DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用改造 世界短讯
2022年上半年河北各地城市gdp排名
腾讯会议软件原生支持国产CPU龙架构:与x86、Arm并列 100%自主|天天即时看
全球讯息:山东一男孩估分700结果真考700分 数学预估满分结果149分
《常州市租赁住房安全管理条例》7月1日起正式实施_环球微速讯
重庆巴月庄实业旗下资产流拍 起拍价7.68亿元
信达投资拟注册发行15亿元中票 用于偿还3家银行借款
北京多部门联合专项整治非法倒票 抓获143名“黄牛”
雪糕之后 年轻人又被共享单车背刺
厦门今起三天晴热持续 气温还会小幅攀升|全球视讯
加快血吸虫病消除进程怎么干?看国家疾控局划重点
人力资源社会保障部启动2023年高校毕业生等青年就业服务攻坚行动 当前报道
一条全是背影的视频致敬禁毒英雄 全球快资讯
今日最新!凯赛生物三年吸金超百亿,股价腰斩!大央企入局给钱、给人、给订单
重庆地区注册会计师考试缴费的紧急通知
热头条丨《汉字找茬王》典找出18个常见字攻略
环球百事通!《消失的她》总票房破7亿 连续四天单日票房破亿
贾若祥:水资源保护和产业协同发展
信通院:2023年5月国内手机出货量2603.7万部,5G手机占比77.5%-环球动态
天天速看:“千模大战”打响,李彦宏给AI应用划重点
外交部:支持有助于缓和伊核局势的努力
北京银行因房地产等多项业务违规被罚4830万_全球报道
环球即时看!男子踩到蚂蚁窝,不久后突然倒地
“美味湘西看过来”系列视频——里耶油粑粑&米豆腐 世界要闻
全球通讯!海峡两岸主持人柴璐换掉原因 海峡两岸主持人柴璐
广西壮族自治区交通运输厅原副厅长韦勇球被查|环球热文
河南很热,逢考必过-天天速看
世界快看点丨马桶的内结构图片(马桶内部结构有哪些)
当前要闻:江西本轮降雨集中期结束 仍需加强灾害易发区监测巡查
大余检察:优化12309检察便民服务平台
帕瓦股份:聘任黄益芳女士为公司证券事务代表
瑞典一游乐园发生过山车事故 致1人死亡9人受伤
互联网金融概念股走弱,金融科技ETF跌5% 当前关注
最新消息:端午假期,这里预约场场爆满!
美团在成都成立科技新公司 美团接连成立科技公司-全球视点
小橘子秘密宝箱密码 小橘子百宝箱抽完多少钱
武汉造“空中造楼机”升级:更快更轻更智能|天天头条
全国首批!上海首家! 上海联通荣获“IPv6+”Ready1.0权威认证|实时焦点
中国话串词报幕词幼儿园 中国话串词报幕词
全球滚动:滨医附院骨科界“爱迪生”王志刚解决下肢骨折闭合复位难题
恩捷股份控股股东及实控人拟1.5亿元-2亿元增持公司股份
苹果手机怎么找回id密码显示无法验证账户是怎么回事_苹果手机怎么找回id密码
天天观热点:北京中建国贤府首开劲销15亿!实力演绎“人气红盘”
民生直通车|热浪来袭,透视北方多地应对高温天气举措_焦点观察
蜗牛鲍勃在线玩_蜗牛鲍勃太空版攻略
天天视点!lms系统怎么打开_lms系统
焦点滚动:索辰科技跌5.83% 上市超募13.5亿海通证券保荐
环球快消息!看书的好处的名句_看书的好处
每日看点!国际禁毒日丨警惕!这些新型毒品的“花式伪装”要小心
CX-50行也:是山系女孩“本命车”,更是长安马自达“灵魂人物”|全球热资讯
环球速读:氯化镁电子式形成过程_用电子式表示氯化镁的形成过程
天天简讯:蜘蛛美女合集(蜘蛛美女)
从单向帮扶到高质量的“双向奔赴” 广东汕尾把特区“搬进家”
王建强在壶关县调研平台工作 全球热点
环球看热讯:广州财政厅人事(广州财政厅)
亚太实业:筹划公司控制权变更事项 股票明日起将停牌 信息
黑客侵入大佬推特被判5年 曾劫持马斯克、比尔盖茨等人账号
全球快资讯:lol封号查询对不起您没有登陆解决方法
环球热讯:过去10年总数据最好的10位巨星:约基奇10,库里7,哈登威少太强
环球讯息:小龙云盘新UI界面发布:现代感强、支持智能AI助手
速读:望岳街道党员服务中心(关于望岳街道党员服务中心介绍)
头条:天气特殊符号大全_特殊天气预报符号
网商银行联合央视财经成立小微观察站 8大新亮点成河南省创业者的新“生意经”
世界快播:水准仪塔尺读数方法及图示_水准仪读数方法及图示
环球快报:城市夜经济、县域直播……网商银行小微观察站发布2023年小微经济8大新亮点
7月11日,潍坊正式进入!长达40天
REPUBLIC HC(08357):Ng Siew Boon医生辞任副行政总裁_天天观速讯
科比8代球鞋_科比6代篮球鞋|全球今热点
外交部:瓦格纳集团事件是俄内政,中方支持俄罗斯维护国家稳定
第三届全球饶商大会举行 现场签约项目总额达303.8亿元
为什么千万不要停息挂账?可能会有这些后果-天天头条
剔除华为设备?欧洲 5G 建设用脚投票|前沿资讯
天天速递!省政府在京与部分部委举行工作会谈 毛伟明王志刚张玉卓出席
【威图】参评“维科杯·OFweek 2023中国工业自动化与数字化行业中国市场份额领军企业奖”|全球快看点
世界观速讯丨htcg3手机报价(htcg3)
电脑性能对比(电脑性能怎么看)|每日快播
从江县加榜乡:筹资筹劳共发力 和美乡村共参与
6月26日午间评论 环球关注
福元医药(601089.SH)8534.64万股限售股将于6月30日起上市流通_今日讯
2023雅安职业技术学院招生计划-各专业招生人数是多少|今日精选
世界微动态丨营收与盈利背离,易事特收年报问询函,公司还面临索赔
回春树肾茶有保质期吗(回春树)
DNF:搬砖白图全军覆没!只剩下2大砖厂,工作室成最大赢家-世界动态
亚信科技、国能海南新能源公司、海南移动携手打造绿色数据中心
天天滚动:一将功成万骨枯的道理
一个字:绝!喜茶要和《喜剧之王》联名了?_今日精选
独山子石化公司这项技术创新再突破
德劳动力成本飙升削弱竞争力
恒瑞医药:羟乙磺酸达尔西利片获批 为乳腺癌患者提供更佳治疗选择-全球观点
丽岛新材: 截至2023年6月20日,公司股东人数为15896户_环球微头条
黄金控险价值凸显 天弘上海金ETF联接带你做黄金矿工
残积砂矿床(关于残积砂矿床介绍)_全球最资讯
新兴行业成为我们股市投资的新方向-环球热消息
天天热文:三祥新材:宁德文达镁铝一体化铸造业务已在新能源电池等领域实现量产
当前速递!“不赚钱不收管理费”!多家银行理财“出手”了
阳谷农商银行:助力养殖客户奔向幸福生活
新兴行业成为我们股市投资的新方向|当前看点
全球新资讯:桂冠电力:拟以21.89亿元投资开发新能源发电项目
聚焦:贵州沿河云丰村驻村干部赵晓林:为乡村找准发展路子
环球热推荐:四川二建成绩公布时间2023