Nimbus needs to know about your scheduler. I suggest you place the jar that includes the DemoScheduler class inside the storm/lib/ directory that nimbus uses.
-- Michael On Wed, Dec 10, 2014 at 6:21 PM, P. Taylor Goetz <[email protected]> wrote: > > Could you provide some additional details regarding where you put your > code and how you packaged it? > > A ClassNotFoundException indicates that your DemoScheduler class is not on > the class path. > > -Taylor > > On Dec 7, 2014, at 9:16 PM, Ravali Kandur <[email protected]> wrote: > > Hi, > > I have tried to implement a pluggable scheduler as mentioned here > http://xumingming.sinaapp.com/885/twitter-storm-how-to-develop-a-pluggable-scheduler/ > > But, I get a java.lang.ClassNotFoundException error when I try to run. > I understand that the problem is that it is unable to find the > DemoScheduler class definition in storm-core-0.9.3.jar, I tried downloading > the source for storm from https://github.com/apache/storm > and tried adding my DemoScheduler to src/jvm and do a mvn compile (or mvn > assembly:assembly). But it fails while doing a backtype.storm.serialization. > GzipBridgeSerializationDelegateTest and exits after maximum retries. > > Can someone please suggest on what can be done? > > Error 1: > 2014-12-07T19:22:44.300-0600 b.s.d.nimbus [INFO] Using custom scheduler: > storm.starter.scheduler.DemoScheduler > 2014-12-07T19:22:44.307-0600 b.s.d.nimbus [ERROR] Error on initialization > of server service-handler > java.lang.ClassNotFoundException: storm.starter.scheduler.DemoScheduler > at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.6.0_33] > at java.security.AccessController.doPrivileged(Native Method) > ~[na:1.6.0_33] > at java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.6.0_33] > at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.6.0_33] > at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) > ~[na:1.6.0_33] > at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.6.0_33] > at java.lang.Class.forName0(Native Method) ~[na:1.6.0_33] > at java.lang.Class.forName(Unknown Source) ~[na:1.6.0_33] > at backtype.storm.util$new_instance.invoke(util.clj:946) > ~[storm-core-0.9.3.jar:0.9.3] > at backtype.storm.daemon.nimbus$mk_scheduler.invoke(nimbus.clj:53) > ~[storm-core-0.9.3.jar:0.9.3] > at backtype.storm.daemon.nimbus$nimbus_data.invoke(nimbus.clj:78) > ~[storm-core-0.9.3.jar:0.9.3] > at > backtype.storm.daemon.nimbus$fn__5043$exec_fn__1108__auto____5044.invoke(nimbus.clj:898) > ~[storm-core-0.9.3.jar:0.9.3] > at clojure.lang.AFn.applyToHelper(AFn.java:163) > [clojure-1.5.1.jar:na] > at clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.5.1.jar:na] > at clojure.core$apply.invoke(core.clj:617) ~[clojure-1.5.1.jar:na] > at > backtype.storm.daemon.nimbus$fn__5043$service_handler__5133.doInvoke(nimbus.clj:895) > [storm-core-0.9.3.jar:0.9.3] > at clojure.lang.RestFn.invoke(RestFn.java:421) > [clojure-1.5.1.jar:na] > at > backtype.storm.daemon.nimbus$launch_server_BANG_.invoke(nimbus.clj:1152) > [storm-core-0.9.3.jar:0.9.3] > at backtype.storm.daemon.nimbus$_launch.invoke(nimbus.clj:1184) > [storm-core-0.9.3.jar:0.9.3] > at backtype.storm.daemon.nimbus$_main.invoke(nimbus.clj:1206) > [storm-core-0.9.3.jar:0.9.3] > at clojure.lang.AFn.applyToHelper(AFn.java:159) > [clojure-1.5.1.jar:na] > at clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.5.1.jar:na] > at backtype.storm.daemon.nimbus.main(Unknown Source) > [storm-core-0.9.3.jar:0.9.3] > > Error 2: > ----------------------------- > ------------------------- > T E S T S > ------------------------------------------------------- > Running backtype.storm.serialization.GzipBridgeSerializationDelegateTest > Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.101 sec > Running backtype.storm.utils.StormBoundedExponentialBackoffRetryTest > 521 [main] WARN org.apache.curator.retry.ExponentialBackoffRetry - > maxRetries too large (900). Pinning to 29 > > Thanks in advance ! > > > -- Michael Vogiatzis Twitter: @mvogiatzis <https://twitter.com/mvogiatzis> http://micvog.com/
