spark 集群优化
只有满怀自信的人,能在任何地方都怀有自信,沉浸在生活中,并认识自己的意志。 前言 最近公司有一个生产的小集群,专门用于运行spark作业。但是偶尔会因为nn或dn压力过大而导致作业checkpoint操作失败进而导致spark 流任务失败。本篇记录从应用层面对spark作业进行优化,进而达到优化集群的作用。 集群使用情况 有数据的目录以及使用情况如下: 目录 说明 大小 文件数量 数据数量占比 数据大小占比 /user/root/.sparkStaging/applicationIdxxx spark任务配置以及所需jar包 5G 约1k 约20% 约100% /tmp/checkpoint/xxx/{commits|metadata|offsets|sources} checkpoint文件,其中commits和offsets频繁变动 2M 约4k 约80% 约0% 对于. sparkStaging目录,不经常变动,只需要优化其大小即可。 对于 checkpoint目录,频繁性增删,从生成周期和保留策略两方面去考虑。 . sparkStaging目录优化 对于 /user/root/.sparkStaging下文件,是spark任务依赖文件,可以将jar包上传到指定目录下,避免或减少了jar包的重复上传,进而减少任务的等待时间。 可以在spark的配置文件spark