databricks / reference-apps

Spark reference applications
Other
656 stars 341 forks source link

java.lang.NoClassDefFoundError: kafka/admin/CreateTopicCommand in com.databricks.apps.WeatherApp #64

Closed lamastex closed 9 years ago

lamastex commented 9 years ago

After successfully (with some edits to port incrementing) running part [1] com.databricks.apps.WeatherClientApp in sbt/sbt weather/run I tried to start [2] com.databricks.apps.WeatherApp and ran into compilation problems.

~/software/spark/spark-1.3.0-bin-hadoop2.4/work/databricksSparkRef/reference-apps/timeseries/scala$ sbt/sbt weather/run Launching sbt from sbt/sbt-launch-0.13.6.jar [info] Loading project definition from /home/wynrs1/software/spark/spark-1.3.0-bin-hadoop2.4/work/databricksSparkRef/reference-apps/timeseries/scala/project [info] Set current project to timeseries samples with cassandra and kafka (in build file:/home/wynrs1/software/spark/spark-1.3.0-bin-hadoop2.4/work/databricksSparkRef/reference-apps/timeseries/scala/) [warn] Multiple main classes detected. Run 'show discoveredMainClasses' to see the list

Multiple main classes detected, select one to run:

[1] com.databricks.apps.WeatherClientApp [2] com.databricks.apps.WeatherApp

Enter number: 2

[info] Running com.databricks.apps.WeatherApp [INFO] [2015-05-27 16:25:07,722] [com.databricks.apps.weather.WeatherSettings]: Starting up with spark master 'local[*]' cassandra hosts '127.0.0.1' [INFO] [2015-05-27 16:25:07,735] [com.databricks.apps.weather.WeatherSettings]: Found 4 data files to load. ZooKeeperServer isRunning: true ZooKeeper Client connected. Starting the Kafka server at 127.0.1.1:2181 error java.lang.NoClassDefFoundError: kafka/admin/CreateTopicCommand$ java.lang.NoClassDefFoundError: kafka/admin/CreateTopicCommand$ at com.datastax.spark.connector.embedded.EmbeddedKafka.createTopic(EmbeddedKafka.scala:61) at com.databricks.apps.WeatherApp$delayedInit$body.apply(WeatherApp.scala:49) at scala.Function0$class.apply$mcV$sp(Function0.scala:40) at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) at scala.App$$anonfun$main$1.apply(App.scala:71) at scala.App$$anonfun$main$1.apply(App.scala:71) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32) at scala.App$class.main(App.scala:71) at com.databricks.apps.WeatherApp$.main(WeatherApp.scala:40) at com.databricks.apps.WeatherApp.main(WeatherApp.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) Caused by: java.lang.ClassNotFoundException: kafka.admin.CreateTopicCommand$ at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at com.datastax.spark.connector.embedded.EmbeddedKafka.createTopic(EmbeddedKafka.scala:61) at com.databricks.apps.WeatherApp$delayedInit$body.apply(WeatherApp.scala:49) at scala.Function0$class.apply$mcV$sp(Function0.scala:40) at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) at scala.App$$anonfun$main$1.apply(App.scala:71) at scala.App$$anonfun$main$1.apply(App.scala:71) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32) at scala.App$class.main(App.scala:71) at com.databricks.apps.WeatherApp$.main(WeatherApp.scala:40) at com.databricks.apps.WeatherApp.main(WeatherApp.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) [trace] Stack trace suppressed: run last weather/compile:run for the full output.

Any suggestion?

lamastex commented 9 years ago

See: https://github.com/databricks/reference-apps/pull/65/files#diff-1

make sure cassandra is run as sudo, also do 'sudo sbt weather/run' for permissioning issues. Thanks, Sivanand!