用户问题描述:
用户在使用jdbc 从另一张表读数据(60w数据量)写入orc事务表中的时候,hdfs上出现了许多delta开头的目录每个目录有5个分桶小文件,小文件过多导致namenode内存不够崩了。
采用Compact机制针对此类情况进行优化后发现没有触发合并,且服务健康。
根因:
排查了黑名单后发现曾经触发过合并但是并未提交对应的任务到执行引擎中,后排查了metastore日志发现是因为Yarn资源不足导致的。
相关知识:
ORC Transaction Compact原理以及如何使用: https://community.transwarp.cn/thread?topicId=271
Compact常见故障诊断: https://community.transwarp.cn/thread?topicId=272
问题排查复盘:
背景:
某一社区版用户每执行一次insert into,就会生成一个delta文件
1.采用compact机制进行合并,metastore这三个线程都正常,但是手动触发compactor并没生成任务跑,当没有base目录时,delta 大于10个文件也没有触发合并;然后设置了metastore 但是并没走yarn 的mr任务;
2.排查黑名单,发现表已经进入了黑名单,需要手动从黑名单中释放;
3.把表从黑名单拿出来后,手动执行依然没反应;
4.用户需要查看metastore日志进行排查;
/var/log/quark1/quark-metastore.log
5.排查后发现是因为yarn资源不足,改完资源就可以了