I have log4j json layout jars added via spark-submit on EMR /usr/lib/spark/bin/spark-submit --deploy-mode cluster --master yarn --jars /home/hadoop/lib/jsonevent-layout-1.7.jar,/home/hadoop/lib/json-smart-1.1.1.jar --driver-java-options "-XX:+AlwaysPreTouch -XX:MaxPermSize=6G" --class com.mlbam.emr.XXX s3://xxx/aa/jars/ spark-job-assembly-1.4.1-SNAPSHOT.jar ActionOnFailure=CONTINUE
this is the process running on the executor: /usr/lib/jvm/java-1.8.0/bin/java -server -Xmx8192m -XX:+AlwaysPreTouch -XX:MaxPermSize=6G -Djava.io.tmpdir=/mnt/yarn/usercache/hadoop/appcache/application_1502310393755_0003/container_1502310393755_0003_01_000005/tmp -Dspark.driver.port=32869 -Dspark.history.ui.port=18080 -Dspark.ui.port=0 -Dspark.yarn.app.container.log.dir=/var/log/hadoop-yarn/containers/application_1502310393755_0003/container_1502310393755_0003_01_000005 -XX:OnOutOfMemoryError=kill %p org.apache.spark.executor.CoarseGrainedExecutorBackend --driver-url spark://CoarseGrainedScheduler@10.202.138.158:32869 --executor-id 3 --hostname ip-10-202-138-98.mlbam.qa.us-east-1.bamgrid.net --cores 8 --app-id application_1502310393755_0003 --user-class-path file:/mnt/yarn/usercache/hadoop/appcache/application_1502310393755_0003/container_1502310393755_0003_01_000005/__app__.jar --user-class-path file:/mnt/yarn/usercache/hadoop/appcache/application_1502310393755_0003/container_1502310393755_0003_01_000005/jsonevent-layout-1.7.jar --user-class-path file:/mnt/yarn/usercache/hadoop/appcache/application_1502310393755_0003/container_1502310393755_0003_01_000005/json-smart-1.1.1.jar I see that jsonevent-layout-1.7.jar is passed as –user-class-path to the job (see the above process), yet, I see the following log exception in my stderr: log4j:ERROR Could not instantiate class [net.logstash.log4j.JSONEventLayoutV1]. java.lang.ClassNotFoundException: net.logstash.log4j.JSONEventLayoutV1 Am I doing something wrong? Thank you, Alex