Anyone with Gradle experience, kindly help. I've tried for the past 40
minutes with help from posts like this
<http://stackoverflow.com/questions/17421726/making-the-storm-jars-compile-time-only-in-a-gradle-project>,
this
<http://www.michael-noll.com/tutorials/running-multi-node-storm-cluster/#build-a-correct-standalone--fat-jar-file-of-my-storm-code>,
this
<http://kennethjorgensen.com/blog/2014/fat-jars-with-excluded-dependencies-in-gradle>
and this
<https://discuss.gradle.org/t/removing-dependencies-from-a-jar-file-during-jar-task/5521>,
but it isn't working.
This is all my original gradle script contains:
apply plugin: 'java'
apply plugin: 'eclipse'
defaultTasks 'jar'
jar {
from {
(configurations.runtime).collect {
it.isDirectory() ? it : zipTree(it)
}
}
manifest {
attributes 'Main-Class': 'com.slh.myprogram.MyProgram'
}
}
sourceCompatibility = '1.8'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
if (!hasProperty('mainClass')) {
ext.mainClass = 'com.slh.myprogram.MyProgram'
}
repositories {
mavenCentral()
}
dependencies {
compile 'org.apache.storm:storm-core:1.0.1'
testCompile group: 'junit', name: 'junit', version: '4.10'
}
On Mon, May 23, 2016 at 3:18 PM, Matthias J. Sax <[email protected]> wrote:
> You are doing it basically correct. But you use the wrong jar file...
>
> The jar you submit must contain your spouts and bolt classes, but not
> the classes of Storm itself.
>
> I am not too familiar with Gradle, but you need to fix your build script
> to assemble your topology jar file correctly.
>
> It would help, if you post your gradle file here, for other to help you
> out with this.
>
> -Matthias
>
> On 05/23/2016 11:45 AM, Navin Ipe wrote:
> > Bingo. Supervisor.log showed:
> > /Worker Process 17d197c0-80c8-408d-ac70-11970a93d2b9 exited with code: 1
> > Worker Process 204c20f5-a6d2-4739-b010-c90e651cb2cf exited with code: 1
> > 204c20f5-a6d2-4739-b010-c90e651cb2cf still hasn't started
> > /
> > And the worker logs were located deep inside here
> >
> /Users/nav/programming/apache-storm-1.0.1/*logs/workers-artifacts*/MyTopologyName-6-1463986744/6701/worker.log.err
> >
> > *The error:*
> > /Caused by: java.io.IOException: Found multiple defaults.yaml resources.
> > You're probably bundling the Storm jars with your topology jar.
> >
> [jar:file:/Users/nav/programming/apache-storm-1.0.1/storm-local/supervisor/stormdist/MyTopologyName-6-1463986744/stormjar.jar!/defaults.yaml,
> >
> jar:file:/Users/nav/programming/apache-storm-1.0.1/lib/storm-core-1.0.1.jar!/defaults.yaml]
> > at
> > org.apache.storm.utils.Utils.getConfigFileInputStream(Utils.java:333)
> > at
> > org.apache.storm.utils.Utils.findAndReadConfigFile(Utils.java:287)
> > ... 8 more
> > Exception in thread "main" java.lang.ExceptionInInitializerError/
> >
> > But I don't understand. If I don't include the storm jars in the Gradle
> > dependency, then I won't be able to compile the program itself.
> >
> > *What I'm doing:*
> > *Using this version of Storm via Gradle in Netbeans.*
> > dependencies { compile 'org.apache.storm:storm-core:1.0.1'
> >
> > *and submitting topology like this:*
> > System.setProperty("storm.jar",
> > "/Users/nav/programming/apache-storm-1.0.1/lib/storm-core-1.0.1.jar");
> >
> > StormSubmitter.submitTopology(c.TOPO_NAME, config,
> > builder.createTopology());
> >
> > Is there some other way to do this?
> >
> >
> >
> > On Mon, May 23, 2016 at 1:36 PM, Matthias J. Sax <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> > How many workers did you configure (ie, storm.yaml parameter
> > "supervisor.slots.ports" -- the number of available slots is also
> shown
> > in the web UI)?
> >
> > If there are free workers available, look into logs/worker*.log -- if
> > worker*.log is not available, no worker was started. You might also
> have
> > a look into logs/supervisor.log and maybe logs/nimbus.log
> >
> >
> > -Matthias
> >
> > On 05/23/2016 08:55 AM, Navin Ipe wrote:
> > > I installed zookeeper on my local system. Started it. Extracted
> Storm
> > > 1.0.1 on my local system and *started it via this script:*
> > > /#!/bin/bash
> > > ./storm nimbus &
> > > ./storm supervisor &
> > > ./storm ui &/
> > >
> > > *storm.yaml has:*
> > > / storm.zookeeper.servers:
> > > - "localhost"
> > > nimbus.seeds: ["localhost"]/
> > >
> > > *and zoo.conf has:*
> > > /tickTime=2000
> > > initLimit=10
> > > syncLimit=5
> > > dataDir=/Users/nav/programming/zookeeper-3.4.8/data
> > > clientPort=2181/
> > > *
> > > *
> > > *Using this version of Storm via Gradle.*
> > > /dependencies { compile 'org.apache.storm:storm-core:1.0.1'
> > >
> > > /
> > > *Firewall on my system
> > > *
> > > Switched off*
> > > *
> > > //
> > >
> > > *and submitting topology like this:*
> > > /System.setProperty("storm.jar",
> > >
> "/Users/nav/programming/apache-storm-1.0.1/lib/storm-core-1.0.1.jar");
> > >
> > > StormSubmitter.submitTopology(c.TOPO_NAME, config,
> > > builder.createTopology());
> > > /
> > >
> > >
> > > But on running it in my program's build/lib folder with java -jar
> > > myProgram.jar, the topology gets submitted (and I can see the
> submitted
> > > topology on the storm UI via http://localhost:8080),*but after
> > > submitting, no emits happen. The program seems to freeze.*
> > > /BUILD SUCCESSFUL
> > >
> > > Total time: 12.78 secs
> > >
> > > This build could be faster, please consider using the Gradle
> Daemon:
> > > https://docs.gradle.org/2.10/userguide/gradle_daemon.html
> > > 569 [main] INFO c.s.c.s.Queries_ReaderWriter - Waiting few
> seconds
> > > until table is dropped...
> > > 589 [main] INFO c.s.c.s.Queries_ReaderWriter - New table created.
> > > 1007 [main] INFO o.a.s.StormSubmitter - Generated ZooKeeper secret
> > > payload for MD5-digest: -5943870921993217077:-9035830007806332208
> > > 1074 [main] INFO o.a.s.s.a.AuthUtils - Got AutoCreds []
> > > 1124 [main] INFO o.a.s.StormSubmitter - Uploading topology jar
> > > /Users/nav/programming/apache-storm-1.0.1/lib/storm-core-1.0.1.jar
> to
> > > assigned location:
> > >
> /Users/nav/programming/apache-storm-1.0.1/storm-local/nimbus/inbox/stormjar-036472f9-15ce-4f09-8663-b1500942e696.jar
> > > 1271 [main] INFO o.a.s.StormSubmitter - Successfully uploaded
> topology
> > > jar to assigned location:
> > >
> /Users/nav/programming/apache-storm-1.0.1/storm-local/nimbus/inbox/stormjar-036472f9-15ce-4f09-8663-b1500942e696.jar
> > > 1271 [main] INFO o.a.s.StormSubmitter - Submitting topology
> MyTopology
> > > in distributed mode with conf
> > >
> {"storm.zookeeper.topology.auth.scheme":"digest","topology.workers":2,"topology.debug":false,"topology.max.spout.pending":10,"storm.zookeeper.topology.auth.payload":"-5943870921993217077:-9035830007806332208","topology.transfer.buffer.size":32,"topology.executor.send.buffer.size":16384,"topology.executor.receive.buffer.size":16384}
> > > 1427 [main] INFO o.a.s.StormSubmitter - Finished submitting
> topology:
> > > MyTopology
> > > 1427 [main] INFO c.s.c.CrystalStorm - Topology submitted/
> > >
> > > *Two questions:*
> > > 1. What usually causes this kind of problem? I've seen the answers
> on
> > > StackOverflow, but they didn't help.
> > > 2. Which log files would provide the most useful info in such
> > situations?
> > >
> > >
> > > --
> > > Regards,
> > > Navin
> >
> >
> >
> >
> > --
> > Regards,
> > Navin
>
>
--
Regards,
Navin