Uncaught exception: java.lang.ClassNotFoundException: com.snowplowanalytics.snowplow.shredder.batch.Main

Hello everyone,

We just upgraded RDB shredder and RDB loader versions to 1.0.0 in our codebase, following the upgrade guide and now we get the following error on EMR when running the shredder step:

21/04/26 14:59:11 ERROR ApplicationMaster: Uncaught exception: 
java.lang.ClassNotFoundException: com.snowplowanalytics.snowplow.shredder.batch.Main
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at org.apache.spark.deploy.yarn.ApplicationMaster.startUserApplication(ApplicationMaster.scala:718)
	at org.apache.spark.deploy.yarn.ApplicationMaster.runDriver(ApplicationMaster.scala:492)
	at org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:264)
	at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$3.run(ApplicationMaster.scala:890)
	at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$3.run(ApplicationMaster.scala:889)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
	at org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:889)
	at org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)
21/04/26 14:59:11 INFO ApplicationMaster: Final app status: FAILED, exitCode: 13, (reason: Uncaught exception: java.lang.ClassNotFoundException: com.snowplowanalytics.snowplow.shredder.batch.Main
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at org.apache.spark.deploy.yarn.ApplicationMaster.startUserApplication(ApplicationMaster.scala:718)
	at org.apache.spark.deploy.yarn.ApplicationMaster.runDriver(ApplicationMaster.scala:492)
	at org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:264)
	at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$3.run(ApplicationMaster.scala:890)
	at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$3.run(ApplicationMaster.scala:889)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
	at org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:889)
	at org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)
)
21/04/26 14:59:11 INFO ApplicationMaster: Deleting staging directory hdfs://ip-11-222-59-25.eu-west-1.compute.internal:8020/user/hadoop/.sparkStaging/application_1619448969118_0002
21/04/26 14:59:12 INFO ShutdownHookManager: Shutdown hook called


[2021-04-26 14:59:13.001]Container exited with a non-zero exit code 13. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
anging modify acls to: yarn,hadoop
21/04/26 14:59:11 INFO SecurityManager: Changing view acls groups to: 
21/04/26 14:59:11 INFO SecurityManager: Changing modify acls groups to: 
21/04/26 14:59:11 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users  with view permissions: Set(yarn, hadoop); groups with view permissions: Set(); users  with modify permissions: Set(yarn, hadoop); groups with modify permissions: Set()
21/04/26 14:59:11 WARN Configuration: __spark_hadoop_conf__.xml:an attempt to override final parameter: fs.s3.buffer.dir;  Ignoring.
21/04/26 14:59:11 WARN Configuration: __spark_hadoop_conf__.xml:an attempt to override final parameter: yarn.nodemanager.local-dirs;  Ignoring.
21/04/26 14:59:11 WARN Configuration: __spark_hadoop_conf__.xml:an attempt to override final parameter: fs.s3.buffer.dir;  Ignoring.
21/04/26 14:59:11 WARN Configuration: __spark_hadoop_conf__.xml:an attempt to override final parameter: yarn.nodemanager.local-dirs;  Ignoring.
21/04/26 14:59:11 WARN Configuration: __spark_hadoop_conf__.xml:an attempt to override final parameter: fs.s3.buffer.dir;  Ignoring.
21/04/26 14:59:11 WARN Configuration: __spark_hadoop_conf__.xml:an attempt to override final parameter: yarn.nodemanager.local-dirs;  Ignoring.
21/04/26 14:59:11 INFO ApplicationMaster: ApplicationAttemptId: appattempt_1619448969118_0002_000002
21/04/26 14:59:11 INFO ApplicationMaster: Starting the user application in a separate Thread
21/04/26 14:59:11 ERROR ApplicationMaster: Uncaught exception: 
java.lang.ClassNotFoundException: com.snowplowanalytics.snowplow.shredder.batch.Main
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at org.apache.spark.deploy.yarn.ApplicationMaster.startUserApplication(ApplicationMaster.scala:718)
	at org.apache.spark.deploy.yarn.ApplicationMaster.runDriver(ApplicationMaster.scala:492)
	at org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:264)
	at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$3.run(ApplicationMaster.scala:890)
	at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$3.run(ApplicationMaster.scala:889)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
	at org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:889)
	at org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)
21/04/26 14:59:11 INFO ApplicationMaster: Final app status: FAILED, exitCode: 13, (reason: Uncaught exception: java.lang.ClassNotFoundException: com.snowplowanalytics.snowplow.shredder.batch.Main
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at org.apache.spark.deploy.yarn.ApplicationMaster.startUserApplication(ApplicationMaster.scala:718)
	at org.apache.spark.deploy.yarn.ApplicationMaster.runDriver(ApplicationMaster.scala:492)
	at org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:264)
	at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$3.run(ApplicationMaster.scala:890)
	at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$3.run(ApplicationMaster.scala:889)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
	at org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:889)
	at org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)
)
21/04/26 14:59:11 INFO ApplicationMaster: Deleting staging directory hdfs://ip-11-222-59-25.eu-west-1.compute.internal:8020/user/hadoop/.sparkStaging/application_1619448969118_0002
21/04/26 14:59:12 INFO ShutdownHookManager: Shutdown hook called

I would appreciate any help.

The full log is available, in case it is needed.

Hello @dadasami,

Sorry about that - it’s an omission on our side, the proper classpath is:

com.snowplowanalytics.snowplow.rdbloader.shredder.batch.Main

We were missing rdbloader part in the guide. Will fix it immediately.

2 Likes