Jar конфликтует между apache spark и hadoop - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь настроить и запустить кластер Spark, работающий поверх YARN и использующий HDFS.

Сначала я настроил Hadoop для HDFS, используя hadoop-3.1.0.Затем я настроил YARN и запустил оба.Я был в состоянии загрузить данные в HDFS, и пряжа также, кажется, работает нормально.

Затем я установил spark-2.3.0-bin-without-hadoop только на свой мастер и попытался подать заявку.Поскольку это искра без Hadoop, мне пришлось изменить spark-env.sh, добавив следующую строку, как указано в документации:

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

Используя только эту строку, я получил следующее исключение:

Error: Could not find or load main class org.apache.spark.deploy.yarn.ApplicationMaster

Что, я думаю, означает, что он не находит Spark-библиотеки.Поэтому я добавил банки с искрой в путь к классам:

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath):/usr/local/spark/jars/*

Но теперь я получаю следующее исключение:

com.fasterxml.jackson.databind.JsonMappingException: Incompatible Jackson version: 2.7.8

Как оказалось, Hadoop 3.1.0 предоставляет Jackson 2.7.8в то время как Spark 2.3.0 обеспечивает Джексона 2.6.7.На мой взгляд, оба теперь находятся в пути к классам, что приводит к конфликту.

Поскольку мне кажется, что мне действительно нужны библиотеки Hadoop и Spark для отправки чего-либо, я не знаю, как обойти эту проблему.

1 Ответ

0 голосов
/ 13 мая 2018

Как совместимость Hadoop-3.0.0 со старыми версиями Hive, Pig, Sqoop и Spark

был ответ от @JacekLaskowski, что spark не поддерживается в hadoop 3. Насколько я знаю, за последние 6 месяцев в этой области ничего не изменилось.

...