I don't know how to handle this anymore...
In the nimbus log file I have a clear reference to storm.CameraScheduler:
"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]"

But apparently it never finds my jar... How can I make sure that the jar is
loaded when starting nimbus?

On Thu, May 28, 2015 at 1:08 PM, Franca van Kaam <[email protected]>
wrote:

> So to give some more detail...
> I have a CameraScheduler.class, the package in this class is package storm;
>
> I made a jar containing this class file with this command:
> jar cvf CameraScheduler.jar CameraScheduler.java
>
> And then I placed this jar in the $(STORM-HOME)/lib directory.
>
> I put the next line in the storm.yaml of the node running Nimbus:
> storm.scheduler: "storm.CameraScheduler"
>
> Should I be calling it differently in the storm.yaml file?
> And how can I be sure the jar is loaded?
>
> On Thu, May 28, 2015 at 1:04 PM, Ken Danniswara <[email protected]> wrote:
>
>> Yes you're right. Maybe make sure the jar is loaded when starting Nimbus
>> and the package name is correct.
>>
>> On Thu, May 28, 2015 at 12:40 PM, Franca van Kaam <
>> [email protected]> wrote:
>>
>>> As indicated in the tutorial I put this in the storm.yaml file of the
>>> nimbus node:
>>>  storm.scheduler: "storm.CameraScheduler"
>>>
>>> So my problem is that when I want to start the Nimbus, it gives me this
>>> ClassNotFoundException. I am not even submitting the topology yet...
>>>
>>>
>>>
>>>
>>>
>>> On Thu, May 28, 2015 at 12:35 PM, Franca van Kaam <
>>> [email protected]> wrote:
>>>
>>>> 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