Spark LOCAL и клиент alluxio

Я запускаю искру в ЛОКАЛЬНОМ режиме и пытаюсь заставить ее общаться с alluxio. Я получаю сообщение об ошибке: java.lang.ClassNotFoundException: класс alluxio.hadoop.FileSystem не найден

Я просмотрел страницу здесь: https://www.alluxio.org/docs/master/en/Debugging-Guide.html#q-why-do-i-see-exceptions-like-javalangruntimeexception-javalangclassnotfoundexception-class-alluxiohadoopfilesystem-not-found

В котором подробно описаны шаги, которые необходимо предпринять в этой ситуации, но я не нахожу успеха.

Согласно документации Spark, я могу создать локальный Spark следующим образом:

SparkSession.builder
  .appName("App")
  .getOrCreate

Затем я могу добавить клиентскую библиотеку alluxio следующим образом:

sparkSession.conf.set("spark.driver.extraClassPath", ALLUXIO_SPARK_CLIENT)
sparkSession.conf.set("spark.executor.extraClassPath", ALLUXIO_SPARK_CLIENT)

Я проверил, что правильный файл jar существует в нужном месте на моем локальном компьютере с помощью:

logger.error(sparkSession.conf.get("spark.driver.extraClassPath"))
logger.error(sparkSession.conf.get("spark.executor.extraClassPath"))

Но я все еще получаю ошибку. Есть ли что-нибудь еще, что я могу сделать, чтобы выяснить, почему Spark не забирает библиотеку?

Обратите внимание, что я не использую spark-submit — мне известны методы добавления клиентской банки в задание spark-submit. Мой экземпляр Spark создается как локальный в моем приложении, и это вариант использования, который я хочу решить.

К вашему сведению, в кластере есть еще одно приложение, которое подключается к моему alluxio с помощью клиента fs, и все работает нормально. Однако в этом случае клиент fs упаковывается как часть приложения через стандартные зависимости sbt.

Спасибо


person jb44    schedule 12.04.2018    source источник


Ответы (1)


В надежде, что это поможет кому-то еще:

Моя проблема заключалась не в том, что библиотека не загружалась или не находилась в пути к классам, а в том, что я использовал версию клиента «fs», а не версию «hdfs».

Я использовал общий клиент 1.4 - в какой-то момент этот клиент был разделен на версию fs и версию hdfs. Когда я недавно обновил это для 1.7, я по ошибке добавил версию «fs».

person jb44    schedule 13.04.2018