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

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

相关推荐
白日与明月21 小时前
Hive子查询中的ORDER BY陷阱:为什么排序“消失”了?
数据仓库·hive·hadoop
isNotNullX2 天前
企业数据中台建设,ETL工具选错了会踩哪些坑?
数据仓库·etl·原型模式
SelectDB技术团队2 天前
预约发布会|核心产品力首发,如何构建面向 Agent 时代的企业级数据引擎
数据库·数据仓库·人工智能·数据分析·可观测·apache doris·selectdb
Nefu_lyh2 天前
【Hive】六、Hive 运算逻辑:数学 / 逻辑 / 条件 / 日期 / 字符串函数
数据仓库·hive·hadoop
ChaITSimpleLove2 天前
Etl.Net 2.2.0 项目深度分析
数据仓库·.net·etl·大数据处理·数据管道·数据处理引擎
陆水A3 天前
【实时数仓·3】Flink多表JOIN状态爆炸——Event Time Temporal JOIN + TTL分层治理
大数据·数据仓库·数据分析·flink·数据库开发·bigdata
zhangjin12223 天前
DataX从入门到精通 第1课 ETL之DataX 安装DataX
数据仓库·etl·datax·datax安装教程
zhangjin12223 天前
DataX从入门到精通 第2课 ETL之DataX 安装datax-web
数据仓库·etl·datax·datax-web·datax-web安装教程
Database_Cool_3 天前
AI 时代的数据仓库:阿里云 AnalyticDB MySQL 向量检索 + SQL 分析一体化实战
数据仓库·人工智能·mysql·阿里云
AQin10123 天前
【对比向】既生瑜何生亮?不!Hive 和 Doris不一样
数据仓库·hive·hadoop·doris