Welcome to the Storm community.  Sorry you've had a tough time getting
going.  Responses inline.

On Tue, Mar 7, 2017 at 9:11 AM, Cameron Cunning <[email protected]>
wrote:

> Hello, I am running into some basic problems getting started with Storm.
> First, to give some background, as part of a class project we would like to
> extend an existing custom scheduler for storm with some new features.
> However, I am having great difficulty trying to get started with storm
> itself.
> First, when I download an existing build and attempt to execute the binary,
> I get a message saying I am attempting to run the client from source code.
>

When I first encountered this problem I was a bit confused.  Googling
helped me.  But I'll spare you that since I already know the answer.

This likely means that you didn't actually download a *release* tarball,
which is what I would term a "build".  Maybe you downloaded an intermediate
/ SNAPSHOT tarball somehow?  (e.g., from GitHub...)   That isn't a real
release I suspect.  Providing info about what you downloaded would help
others to help you.

It's also helpful to include the exact error instead of just describing
it.  That allows for easy googling.  I found the error from the actual
binary I know it comes from (bin/storm or bin/storm.py depending on the
storm version):

The storm client can only be run from within a release. You appear to be
trying to run the client from a checkout of Storm's source code.
You can download a Storm release at http://storm.apache.org/downloads.html

If you *must* run from a source code checkout / download, then the solution
lies here:

   - https://github.com/apache/storm/blob/f2eb6af918d6f4346985644e9744c2
   b1ebce0a51/DEVELOPER.md#building
   
<https://github.com/apache/storm/blob/f2eb6af918d6f4346985644e9744c2b1ebce0a51/DEVELOPER.md#building>

It would be nice if the documentation above included the error that you
received so that the DEVELOPER.md doc could be found from Google easily.
I'm also surprised that I couldn't easily find that doc on the storm docs
website, instead having to go to github.com.

Second, when I try to build Storm myself, (using mvn package), I also get a
> failure on storm-core.
>

Well, you didn't provide *any* info on that failure or even what
version/commit-SHA you tried to build, so it's definitely hard for anyone
to help on this one! ;-)


> The code for the existing scheduler we are attempting to modify (
> https://github.com/flint-stone/storm-elasticity-scheduler) appears to use
> version 0.9.2, so I have been trying to get that version working.
> I did try building 2.0-snapshot, and that was successful,


I'm a bit confused by this statement.  Are you saying that you have been
trying to get storm-0.9.2 working?

FWIW, with Storm you can replace the scheduler without having to rebuild
storm itself.  I believe these steps should suffice:

(1) Download a *release* tarball of storm.  A prebuilt release that doesn't
issue the complaint you encountered.
(2) Build a separate project with your replacement scheduler, outputting a
jar that has your scheduler class in it.
(3) Put that jar on the classpath (e.g., STORM_LIB_DIR) of the Nimbus
process.
(4) Update the storm.yaml's storm.scheduler key to reference your class via
its package path.  See https://storm.apache.org/releases/1.0.0/Storm-
Scheduler.html
(5) Start the Nimbus.

- Erik


> however, I still
> get the message that I am trying to run the client from a source checkout.
>

Already addressed above.

- Erik


>
> I know these must be silly questions, as no one else seems to have them,
> and I apologize for that. Grateful for any feedback, thanks.
>

Reply via email to