Я работаю над поиском причины java.lang.NoClassDefFoundError: org/mortbay/util/ajax/JSON$Convertor при запуске задания dse spark из экземпляра Azure для чтения данных из Azure хранилище BLOB-объектов.
Версия Dse: 6.8/
Версия Spark: 2.4.0.29/
Java: 1.8/
hadoop : 2.10.2(native)
Я пробовал много вариантов, например, --jars jetty-util-6.1.26.jar, --packages org.mortbay.jetty:jetty-util :6.1.25, а также создайте fat jar с помощью плагина mvn-assembly-plugin. Но ни один из них не работал при отправке задания искры в узел с помощью команды spark-submit.
Затем, Когда я дал --driver-class-path jetty-util-6.1. 26.jar, это сработало!. Мой вопрос: --jars также размещает jar-файлы как для драйвера, так и для исполнителей. Если --driver-class-path работает, то --jars должен работать, чего мне здесь не хватает. Кто-нибудь, пожалуйста, объясните. У меня есть кластер dse из 3 узлов, и я отправляю задание Java Spark на третьем узле напрямую с помощью master как локального.
рабочего cmd: > dse spark-submit --class com.bbl.app.App --driver-class-path jetty-util-6.1.26.jar azure-bbl-1.0-SNAPSHOT-jar-with-dependents.jar
ИГНОРИРУЙТЕ: я проверил исходный код Hadoop-azure-pom.xml, в более поздних версиях он изменился с mortbay на eclipse. Также в версии 2.10.2 есть mortbay-jetty-util под Hadoop-comman, который находится в области компиляции, а в более поздней версии 3.3.1 используется ecplise-jetty-util-ajax. Однако тот, что внутри Hadoop-common, должен работать (я использовал mvn Dependency:tree), но Spark Job не смог его найти.
Подробнее здесь: https://stackoverflow.com/questions/781 ... ot-working
Команда spark-submit: --driver-class-path работает, а --jars не работает ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение