Files
GitOps/spark-cluster/base/history-server.yaml
T
Janis Eccarius 710e2ec308 fix(spark): lower memory requests to fix scheduling on resource-constrained nodes
Scheduler uses requests (not limits) for placement. Previous 1Gi requests
per pod caused Insufficient memory even with plenty of physical RAM.
New requests: master 256Mi, workers 256Mi, history-server 128Mi.
Limits unchanged. SPARK_WORKER_MEMORY reduced to 512m to match worker budget.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 20:02:02 +02:00

61 lines
1.5 KiB
YAML
Executable File

apiVersion: apps/v1
kind: Deployment
metadata:
name: spark-history-server
labels:
app.kubernetes.io/name: spark-history-server
app.kubernetes.io/part-of: nowchess
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: spark-history-server
template:
metadata:
labels:
app.kubernetes.io/name: spark-history-server
app.kubernetes.io/part-of: nowchess
spec:
containers:
- name: history-server
image: apache/spark:3.5.4-scala2.13-java17-ubuntu
command:
- /opt/spark/bin/spark-class
- org.apache.spark.deploy.history.HistoryServer
env:
- name: SPARK_HISTORY_OPTS
value: "-Dspark.history.fs.logDirectory=/spark-events"
ports:
- name: http
containerPort: 18080
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 1Gi
volumeMounts:
- name: spark-events
mountPath: /spark-events
volumes:
- name: spark-events
persistentVolumeClaim:
claimName: spark-events
---
apiVersion: v1
kind: Service
metadata:
name: spark-history-server-svc
labels:
app.kubernetes.io/name: spark-history-server
app.kubernetes.io/part-of: nowchess
spec:
selector:
app.kubernetes.io/name: spark-history-server
ports:
- name: http
port: 18080
targetPort: http
type: ClusterIP