Spark kubernetes java .io.InvalidClassException: org. apache .spark.scheduler.cluster.CoarseGrainedClusterMessages $ RetrieveSparkAppConfig $ - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь запустить задание pySpark для узлов в кластере Kubernetes, но когда я пытаюсь создать pyspark. sql .SparkSession, журналы переполняются с ошибкой:

java.io.InvalidClassException: org.apache.spark.scheduler.cluster.CoarseGrainedClusterMessages$RetrieveSparkAppConfig$; local class incompatible: stream classdesc serialVersionUID = -3781927201751596568, local class serialVersionUID = 2700058563611836699

Я использую предварительно созданную версию spark 2.4.6 с hadoop2.7, а изображение docker, используемое узлами, создается с помощью следующей команды, выполняемой из предварительно созданной папки распространения:

/bin/docker-image-tool.sh -p kubernetes/dockerfiles/spark/bindings/python/Dockerfile -r {repo} -t {tag} build

Машина, выдающая задания pySpark, работает под управлением ubuntu 18.04 с OpenJDK 8 JDK и pySpark 2.4.6, установленными через pip. Переменная среды SPARK_HOME установлена ​​в ту же папку распространения Spark, из которой был создан образ docker, и JAVA_HOME установлен правильно.

Обратите внимание, что в дистрибутив не были добавлены дополнительные jar-файлы.

Я понимаю, что обычно это вызвано несоответствием версий, но я не могу понять, что здесь не соответствует.

Заранее спасибо за вашу помощь

...