数仓开发那些事(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,不然多半会超卖,然后歇菜。
一闪: 吊毛搞了半天你知道啊,那你还让我们看。
老运维: 我只是让你们帮忙分析下问题...又没说不会优化。。
一闪: 快请我一根思谋克。

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

相关推荐
fridayCodeFly2 小时前
用数组遍历出来的页面,随节点创建的ref存储在数据仓库中,如果数据删除,页面相关节点也会删除,数据仓库中随节点创建的ref会不会也同时删除
数据仓库
想要变瘦的小码头1 天前
hive数据仓库
数据仓库·hive·hadoop
Tipray20062 天前
天锐蓝盾终端安全防护——企业终端设备安全管控
数据仓库
小技工丨2 天前
【数据仓库】湖仓一体的核心建模理论
数据仓库
RestCloud2 天前
ETL中数据转换的三种处理方式
数据仓库·etl·数字化转型·数据转换·api管理
昨天今天明天好多天2 天前
【Apache Hive】
hive·hadoop·apache
James5062 天前
Ubuntu平台下安装Node相关环境
前端·javascript·vue.js·node·yarn·pm2·nvm
小技工丨2 天前
【数据仓库】星型模型和维度建模什么区别?
大数据·数据仓库
m0_740154673 天前
Spring MVC 拦截器
hive·spring·mvc