У меня возникают некоторые проблемы при попытке запуска заданий Spark с помощью планировщика Kubernetes.
Я хочу, чтобы все мои модули драйверов / исполнителей появлялись на узлах, которые имеют определенный вред. Из-за этого я хочу указать допуски, которые будут напрямую вставлены в файлы конфигурации модулей. В настоящее время нет способа по умолчанию непосредственно из команды spark-submit
. В соответствии с this и this пользователь должен иметь возможность указать шаблон модуля, который можетустановить следующие параметры: spark.kubernetes.driver.podTemplateFile
и spark.kubernetes.executor.podTemplateFile
.
Я попытался указать эти параметры в команде spark-submit
в следующем файле:
pod_template.template
apiVersion: v1
kind: Pod
spec:
tolerations:
- effect: NoSchedule
key: dedicated
operator: Equal
value: test
Однако это допуск никогда не добавляется в запущенный модуль драйвера. В настоящее время способ решить эту проблему?
Для справки, вот полная команда spark-submit: /opt/spark/bin/spark-submit --name spark-pi --class org.apache.spark.examples.SparkPi --conf spark.kubernetes.executor.volumes.persistentVolumeClaim.persistent.options.claimName=pvc-storage --conf spark.kubernetes.executor.volumes.persistentVolumeClaim.persistent.mount.subPath=test-stage1/spark --conf spark.executor.memory=1G --conf spark.executor.instances=1 --conf spark.kubernetes.driver.volumes.persistentVolumeClaim.persistent.mount.subPath=test-stage1/spark --conf spark.kubernetes.executor.limit.cores=1 --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark --conf spark.kubernetes.namespace=test-stage1 --conf spark.kubernetes.driver.volumes.persistentVolumeClaim.persistent.mount.path=/persistent --conf spark.kubernetes.driver.limit.memory=3G --conf spark.kubernetes.executor.volumes.persistentVolumeClaim.persistent.mount.path=/persistent --conf spark.submit.deployMode=cluster --conf spark.kubernetes.container.image=<SPARK IMAGE> --conf spark.master=k8s://https://kubernetes.default.svc --conf spark.kubernetes.driver.limit.cores=1 --conf spark.executor.cores=1 --conf spark.kubernetes.driver.volumes.persistentVolumeClaim.persistent.options.claimName=pvc-storage --conf spark.kubernetes.container.image.pullPolicy=Always --conf spark.kubernetes.executor.podTemplateFile=//opt/pod_template.template --conf spark.kubernetes.driver.podTemplateFile=//opt/pod_template.template local:///opt/spark/examples/src/main/python/pi.py 100