数仓开发那些事(11)

**某神州优秀员工:**一闪,领导说要给我涨米。

一闪:。。。。(着急的团团转)


老运维: Oi,两个吊毛,看看你们的hadoop集群,健康度30分,怎么还在抽思谋克?

①Flink流作业(常驻任务,占用20个Container)

②Hive夜间ETL批处理(每日1次,需50个Container)

③Spark ML模型训练(每周执行,需80个Container)

近期频繁出现:

①Hive ETL超时3小时以上

②Spark任务因ExitCode: 143被YARN强制终止

③Flink作业反压报警持续10分钟/次
老员工: 好像资源有点紧张啊。
一闪: 岂止是有点紧张(收拾东西),我妈喊我回家吃饭了。
老员工: 给你个表现的机会,快处理下。
一闪: 肯定是资源调度器的问题,之前用的公平调度(Fair Scheduler)压根没配任务权重和任务最小资源保证,出问题不是迟早得事情吗。Flink任务是常驻任务,持续占用20个Container,其他的批处理任务重叠得时候集群资源肯定不足了。spark报错143就是外部关闭,说明是yarn杀任务释放资源了。说到头这不是你们运维应该优化吗,怎么又找我们了。
**老运维:**快点处理下,等会请你们抽思谋克,红色软壳的。

(卧槽,是软华子)
一闪: 主要是想解决问题,和思谋克没啥关系。

先看看几个关键的参数:

yarn.nodemanager.resource.cpu-vcores = -1;

yarn.nodemanager.resource.detect-hardware-capabilities = false;
一闪: 快快快,第二个参数改成true。

这时候就会有小朋友问了,啊,第一个参数我知道,网上说都要改成物理机的实际核心数,你怎么要改下面那个啊?

莫慌,莫慌,hadoop.apache.org启动(做什么事情都要先看官网,某度某AI都是耍流氓)

具体链接:https://hadoop.apache.org/docs/r3.3.4/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

所以可以看出来,如果你要改上面那个,那么还需要去确认真实的核心数,如果你有乱七八糟几十台机器....好像是有点恐怖的....所以我们直接把yarn.nodemanager.resource.detect-hardware-capabilities改成true 。这样yarn会以机器实际的核心数为准,而且你只要把配置文件分发到所有节点上就完整了集群的配置修改!

这里又要有小朋友问了,啊,那我改之前假如我的机器核心数是4核和16核,分别会有什么症状呢?

如果改参数之前核数只有4个,那么就是一个牛马要干两个牛马的活,别看了说的就是你.....也就是CPU上下文切换频率会和你的血压一样飙升....总而言之就是因为资源不足会导致很多问题。

如果改参数之前核数有16个,那么就是会有一半的资源在摸鱼,机器数量越多浪费的资源也就越多,你也不想你摸鱼的事情被老板知道吧...

说到这里有些小朋友就兴致勃勃的去改配置了,但是,慢!

有些反应慢的小朋友就会问了,啊,那我的是k8s和docker,这也能用自检查参数来获取核数吗?
老运维: 抢答,在容器化部署的场景下,一定要关掉自检查并显示指定vcores,不然多半会超卖,然后歇菜。
一闪: 吊毛搞了半天你知道啊,那你还让我们看。
老运维: 我只是让你们帮忙分析下问题...又没说不会优化。。
一闪: 快请我一根思谋克。

老运维拿出了一盒扁了的硬云,说盒子已经被他捏软了......

相关推荐
那我掉的头发算什么28 分钟前
【数据库】navicat的下载以及数据库约束
android·数据库·数据仓库·sql·mysql·数据库开发·数据库架构
yumgpkpm2 小时前
CMP(类ClouderaCDP7.3(404次编译) )完全支持华为鲲鹏Aarch64(ARM),粉丝数超过200就开源下载
hive·hadoop·redis·mongodb·elasticsearch·hbase·big data
励志成为糕手1 天前
Hive数据仓库:架构原理与实践指南
大数据·数据仓库·hive·1024程序员节·hql
半梦半醒*2 天前
ELK1——elasticsearch
linux·运维·数据仓库·elasticsearch·centos
通往曙光的路上2 天前
day17_cookie_webstorage
数据仓库·hive·hadoop
呆呆小金人3 天前
SQL入门:正则表达式-高效文本匹配全攻略
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
前端架构师-老李3 天前
npm、yarn、pnpm的对比和优略
前端·npm·node.js·pnpm·yarn
想ai抽3 天前
大数据计算引擎-从源码看Spark AQE对于倾斜的处理
大数据·数据仓库·spark
呆呆小金人3 天前
SQL入门:别名使用完全指南
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师