But don't you have to start up nimbus before submitting your topology?

On Thu, May 28, 2015 at 12:24 PM, Ken Danniswara <[email protected]> wrote:

> Hi,
>
> In my case I'm putting the custom scheduler in the same jar with the
> submitted topology. I don't know if this is actually the best practice or
> not, but it works for me.
>
> On Thu, May 28, 2015 at 12:10 PM, Franca van Kaam <
> [email protected]> wrote:
>
>> Hello,
>>
>> I am trying to implement a custom scheduler as explained in
>> http://xumingming.sinaapp.com/885/twitter-storm-how-to-develop-a-pluggable-scheduler/
>> .
>>
>> However I seem to do something wrong in the last step of the tutorial,
>> because when I try to launch nimbus I get a ClassNotFoundException.
>>
>> 2015-05-28T11:39:24.499+0200 b.s.d.nimbus [INFO] Using custom scheduler:
>> storm.CameraScheduler
>> 2015-05-28T11:39:24.514+0200 b.s.d.nimbus [ERROR] Error on initialization
>> of server service-handler
>> java.lang.ClassNotFoundException: storm.CameraScheduler
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:372) ~[na:1.8.0_31]
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.8.0_31]
>> at java.security.AccessController.doPrivileged(Native Method)
>> ~[na:1.8.0_31]
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
>> ~[na:1.8.0_31]
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_31]
>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>> ~[na:1.8.0_31]
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_31]
>> at java.lang.Class.forName0(Native Method) ~[na:1.8.0_31]
>> at java.lang.Class.forName(Class.java:260) ~[na:1.8.0_31]
>> 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]
>> 2015-05-28T11:39:24.518+0200 b.s.util [ERROR] Halting process: ("Error on
>> initialization")
>> java.lang.RuntimeException: ("Error on initialization")
>> at backtype.storm.util$exit_process_BANG_.doInvoke(util.clj:325)
>> [storm-core-0.9.3.jar:0.9.3]
>> at clojure.lang.RestFn.invoke(RestFn.java:423) [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]
>>
>>
>> How should I package my scheduler and where exactly should I put it?
>> At the moment what I have done is package my CameraScheduler.class in
>> CameraScheduler.jar and add it to my $STORM_HOME/lib. But apparently
>> this is wrong... Any help?
>>
>
>

Reply via email to