У меня есть Java-приложение, которое я отправляю как задание зажигания из экземпляра EC2 в Aws Emr . В приложении я реализовал аспектно-ориентированное программирование (aop) для ведения журнала. Чтобы сделать работу, мне нужно указать aspectweaver.jar при отправке работы. Это прекрасно работает, если я укажу банку, присутствующую в кластере EMR. Но я хочу указать банку с пути S3. Ниже приведен фрагмент кода:
spark-submit --deploy-mode cluster --master yarn-cluster
--driver-java-options \"-Djavaagent=s3://fintellix-la/jobs/aspectjweaver-1.9.1.jar\"
--jars s3://bucket-name/jars/* --driver-cores 1 --driver-memory 20G
--conf spark.dynamicAllocation.enabled=true
--class project.main.index s3://bucket-name/jobs/projectbatch-0.0.1-SNAPSHOT.jar
Приведенный выше код не выдает никаких ошибок, но aop не инициируется.
Точно так же я пробовал разные опции для --driver-java-options,
--driver-java-options -javaagent=s3://bucket-name/jobs/aspectjweaver-1.9.1.jar
--driver-java-options -Djavaagent=s3://bucket-name/jobs/aspectjweaver-1.9.1.jar
Появились такие ошибки, как:
Error opening zip file or JAR manifest missing : aspectjweaver-1.9.1.jar
Примечание. Я также читаю другие банки и основной сосуд из S3. Который умеет читать и отлично работает. Но я не могу читать в javaagent.
Большое спасибо за помощь