Я пытаюсь запустить команду spark-submit из модуля Kubernetes.Файл свойств монтируется как карта конфигурации.Вот файл json для модуля:
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "spark-submit-pod",
"labels": {
"app": "myapp"
}
},
"spec": {
"serviceAccountName": "spark",
"volumes": [
{
"name": "prop-volume",
"configMap": {
"name": "prop"
}
},
{
"name": "pem-volume",
"configMap": {
"name": "pem"
}
}
],
"imagePullSecrets": [
{
"name": "<name of secret>"
}
],
"containers": [
{
"name": "test-container",
"image": "<image>",
"volumeMounts": [
{
"mountPath": "/etc/config",
"name": "pem-volume"
},
{
"mountPath": "/etc/prop",
"name": "prop-volume"
}
],
"command": [
"/opt/spark/bin/spark-submit",
"--name",
"SparkPi",
"--deploy-mode",
"cluster",
"--master",
"k8s://<path to k8s cluster>,
"--class",
"org.apache.spark.examples.SparkPi",
"/opt/spark/examples/jars/spark-examples_2.11-2.4.0.jar",
"--properties-file=/etc/prop/properties.conf"
]
}
],
"restartPolicy": "Never"
}
}
Когда один и тот же модуль развертывается с помощью команды, использующей несколько параметров --conf, происходит успешная отправка.Но приведенная выше команда выдает следующую ошибку в журналах модуля:
Exception in thread "main" org.apache.spark.SparkException: Must specify the driver container image
Файл свойств содержит spark.kubernetes.container.image
и доступен (пробовал команду cat
),