大规模集群故障处理,能抗住这3个灵魂拷问算你赢
|
某些节点CPU负载很高影响了job任务的运行,发现有些节点的负载从9:30到现在一直很高,导致job任务执行了大概7个小时。 ![]() ![]() 解决办法: 找到耗时task执行的节点,确实发现负载很高,并找到了此任务对应的进程。 ![]() 查看此进程的堆栈信息,发现Full GC次数很多,时长很长大概6个小时,频繁的Full GC会使CPU使用率过高。 ![]() 查看job进程详情发现,java heap内存只有820M,task处理的记录数为7400多万,造成堆内存不足频繁出发Full GC。 ![]() 推荐下次执行任务时设置如下参数大小:
7、NameNode切换后部分Hive表无法查询。 小集群NameNode发生切换,并出现Hive某库下的表和其有关联的表无法使用的情况报错如下: ![]() 截图报错,表明当前NameNode节点为stanby节点。经过排查发现,Hive的Metadata中有些partition列的属性还保留之前配置的NameNode location。 解决办法:
UPDATE SDS SET LOCATION = REPLACE(LOCATION, 'hdfs://ip:8020', 'hdfs://nameservice1') where LOCATION like 'hdfs://ip%';
8、Spark任务运行缓慢,且经常执行报错。 (编辑:PHP编程网 - 湛江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |








