Как установить -javaagent в spark-submit - PullRequest
0 голосов
/ 03 октября 2018

Я использовал аспектно-ориентированное программирование для ведения журнала в проекте Java Maven.

При запуске его через eclipse я должен инициализировать javaagent в vmargs следующим образом:

    -javaagent:lib/aspectjweaver-1.9.1.jar

Теперь я хочу передать изготовленную Spark банку.Я написал сценарий оболочки для этого.Я могу запустить, но не могу инициализировать javaagent.

export SPARK_PATH=/xyz
export SPARK_URL=spark://abc:0000
export JAVA_OPTS="$JAVA_OPTS -javaagent:../aspectweaver-1.9.1.jar"
$SPARK_PATH/spark-submit --master $SPARK_URL  --jars  --class com.main.index ../index-0.0.1-SNAPSHOT.jar

Я пробовал несколько примеров, таких как установка JAVA_OPTS и CATALINE_OPTS, создание spark-env.sh и его установка.Но ничего из этого не сработало.Борьба за последние 3 дня.

Я проверил несколько похожих вопросов по stackoverflow, но ни один из них не помог при настройке javaagent.Справка.

Спасибо.

РЕДАКТИРОВАТЬ:

Я проверяю, инициализирован ли javaagent в коде, используя следующий код:

try {
            org.aspectj.weaver.loadtime.Agent.getInstrumentation();
        } catch (NoClassDefFoundError | UnsupportedOperationException e) {
            System.out.println(e);
        }

Я получаю NoClassDefFoundError.Который заключает, что javaagent не установлен.

1 Ответ

0 голосов
/ 09 октября 2018

Я получил ответ на этот вопрос, мне пришлось использовать «--driver-java-options».Ниже обновленный скрипт.

$SPARK_PATH/spark-submit --master $SPARK_URL --driver-java-options "-javaagent:../aspectjweaver-1.9.1.jar" --class com.main.index ../index-0.0.1-SNAPSHOT.jar "$1"
...