Я запускаю искру в ЛОКАЛЬНОМ режиме и пытаюсь заставить ее общаться с 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.
Спасибо