临时存储不足:部署Pod导入TPCDS数据时遇资源告警
解决节点临时存储资源不足问题
问题原因
你遇到的错误是因为容器spark-kafka-cont的临时存储(ephemeral-storage)请求值为0,但导入数据过程中容器实际使用了约10GB的临时空间,触发了Kubernetes的资源校验。注意PVC是持久化存储,和容器本地的临时存储(比如/tmp目录、进程临时文件等)不属于同一资源范畴。
解决方案
修改Pod的资源配置,为临时存储设置合理的requests和limits值:
- 取消
ephemeral-storage的注释,在requests和limits中分别配置满足需求的数值。考虑到你要导入10GB数据,临时存储需要预留一定冗余,参考配置如下:
resources: limits: cpu: "1" memory: 20Gi ephemeral-storage: 20Gi requests: cpu: "1" memory: 20Gi ephemeral-storage: 15Gi
配置说明:
requests.ephemeral-storage:告诉Kubernetes调度器,仅将Pod调度到有至少15Gi可用临时存储的节点上limits.ephemeral-storage:限制容器最多使用20Gi临时存储,防止占用过多节点资源导致其他Pod异常
额外检查:确认导入数据的程序是否将临时文件写到了PVC挂载路径,而非容器本地目录。如果是误写到本地,调整程序输出路径到PVC挂载点也能缓解问题,但优先通过配置临时存储资源请求/限制来解决。
内容的提问来源于stack exchange,提问作者Abhik NASKAR
相关产品推荐
相关产品推荐

