您的位置 首页 大数据运维

NameNode RPC 负载过高

NameNode RPC 负载过高

一、问题发现
2019-10-18 基于小文件问题与 XXX 和 XXX 了解多租户初筛程序问题,发现初筛程序URLFilter_Hour_Tenants 在执行之前会获取文件信息,获取文件信息需要 2 至 5 小时才能完成

问题排查
业务情况:
目前处理 HHH 日志的程序有如下:

YX:凌晨 1 点分省处理昨天一天的数据

2、HHH 日志初筛,按小时处理省份数据,rpc 请求为 31 万,缺点:每小时每个省份的作业处理却要扫描当天此省份全量文件信息,造成大量无用的 rpc请求

3、Spark streaming 实时采集原始日志,目前是增量获取文件信息,对 rpc的压力影响较小

HHH 日志初筛现象:

Job 输入目录有 31 万的文件,这个任务读取整个文件夹其中的 1.4 万的文件。如下截图是初筛 job 的 rpc 请求,请求次数为 310172,从日志上看每秒钟并发十几次到几十次,耗时 3 个半小时,并发度太低的原因是因为 rpc 请求队列堆积了很多请求

 

rpc 监控
昨天晚上 23 点到今天凌晨 2 点的时候,rpc 队列累积请求长度较高

昨天晚上 23 点到今天凌晨 2 点的时候,rpc 平均请求时长偏高

 

解决方案
1、HHH 多租户初筛程序由原来的 MR 批处理改为 spark streaming 实时采集处理,降低 rpc 负载,XXX 协助 XXX、XXX、XXX 改造程序
2、spark streaming 数据直接输出到租户对应目录,省去 mv 环节
3、预计两周上线,上线前需做代码、流程评审

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章