一、 磁盘问题
问题描述 | 可能原因 | 解决措施 |
---|---|---|
core节点磁盘不足, 并且持续增加 | 未开启spark-history的日志清理 | 打开日志清理: spark.history.fs.cleaner.enabled |
task节点磁盘不足 | APP应用使用磁盘过大: 1. 严重的数据倾斜 2. 应用本身数据量大 | 1. 解决数据倾斜 2. 加大资源, 增加excutor的数量, 分散压力 |
二、spark-history问题
1. CPU问题
historyserver由于内存不足(大量fullgc)导致CPU使用上涨, 处理方法如下:
- 开启日志清理;
- 缩短日志生命周期;
- 开启日志压缩;
- 调高日志的输出级别;
- 增加服务的资源;
- 调高日志合并频次;
2. 内存问题
1) 老年代内存使用率不断累计上升
开源Spark的bug:
a) 解析Executor Host的时候,会有cache,由于扩缩容,会一直有新的Executor,cache会慢慢变大
b) org.sparkproject.jetty.util.log.Slf4jLog 这个会保留部分解析过的Event的在map里,没有设置清除机制
三、参数未生效
保存失败;
参数错误;
时间未到;
没有重启;
二十、其它问题
1. 调度端异常退出后yarn上spark任务不结束
spark yarn-client模型下,am和driver第一次建立连接之前,driver退出的话,就会出现am一直运
行不结束的问题, 这是yarn-client模式下极偶发会触发的一个开源 bug.
https://help.aliyun.com/zh/emr/emr-on-ecs/user-guide/faq-6?spm=a2c4g.11186623.0.0.56755530spT8Xi