公司使用的大数据集群是Cloudera,定期巡检,还是查出不少问题,后面进行优化。mark下供大家参考。发现主要的几个问题如下,
1. HDFS 小文件过多
小文件问题是目前HDFS上存在的最大问题。可以使用hadoop fs -count命令,简单统计下文件数量较多的目录。
小文件很多是临时文件,建议定期清理。并检查业务逻辑,主要是什么导致的小文件过多,看能否通过修改处理逻辑来避免。
2. DNS域名解析不全
很多新加的边缘节点,没有配置全部的host,导致集群内部解析不全。虽不影响程序运行,但是建议配置完全的host。
3. HDFS块计数报警过于频繁
块计数报警: 默认hdfs的datanode的块超过50W就会触发对应块计数报警,基于集群的现状,建议将报警阈值调整到100W即可。
4. Namenode的堆内存设置过小
Namenode的堆内存设置过小,导致GC频繁,根据机器内存情况,建议适当增大至16G。
5. Hive中有些表的分区过多
Hive中有些表的分区过多,超过1000。分区过多会导致查询性能下降,建议避免过多分区。
6. 内存超配
集群内部有内存超配的现象,就是分配的内存超过最大内存的阈值。这样会导致资源竞争,或者任务误杀的情况发生。建议任务合理分配,不要超过最大内存。