Storm version is 0.9.5

So I have been moving along with the storm stuff and I have decided to give 
“–config” a try.  I need to know if this is a bug or I am doing something wrong.

And it takes the –config part just fine as an argument however the java part is 
puking on it and failing, see below:



ls -ald /etc/storm/conf
lrwxrwxrwx 1 root root 28 Oct 27 14:32 /etc/storm/conf -> 
/etc/alternatives/storm-conf

ls -al /etc/alternatives/storm-conf
lrwxrwxrwx 1 root root 41 Oct 27 14:32 /etc/alternatives/storm-conf -> 
/opt/cloudera/parcels/STORM-0.9.5-u1/conf

ls -ald /opt/cloudera/parcels/STORM-0.9.5-u1/conf
drwxrwxr-x 2 storm storm 4096 Nov  2 12:01 
/opt/cloudera/parcels/STORM-0.9.5-u1/conf

               ls -al /opt/cloudera/parcels/STORM-0.9.5-u1/conf
total 16
drwxrwxr-x  2 storm storm 4096 Nov  2 12:01 .
drwxrwxr-x 11 root  root  4096 Oct 26 12:00 ..
-rwxrwxr-x  1 root  root  1128 Sep 17 14:48 storm_env.ini
-rwxrwxr-x  1 storm storm  422 Nov  2 11:42 storm_nimbus.yaml

ls -al /etc/storm/conf/
total 16
drwxrwxr-x  2 storm storm 4096 Nov  2 12:01 .
drwxrwxr-x 11 root  root  4096 Oct 26 12:00 ..
-rwxrwxr-x  1 root  root  1128 Sep 17 14:48 storm_env.ini
-rwxrwxr-x  1 storm storm  422 Nov  2 11:42 storm_nimbus.yaml

storm nimbus --config /etc/storm/conf/storm_nimbus.yaml
Exception in thread "main" java.lang.ExceptionInInitializerError
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:195)
               at 
backtype.storm.config$loading__4910__auto__.invoke(config.clj:17)
               at backtype.storm.config__init.load(Unknown Source)
               at backtype.storm.config__init.<clinit>(Unknown Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:278)
               at clojure.lang.RT.loadClassForName(RT.java:2098)
               at clojure.lang.RT.load(RT.java:430)
               at clojure.lang.RT.load(RT.java:411)
               at clojure.core$load$fn__5018.invoke(core.clj:5530)
               at clojure.core$load.doInvoke(core.clj:5529)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at clojure.core$load_one.invoke(core.clj:5336)
               at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
               at clojure.core$load_lib.doInvoke(core.clj:5374)
               at clojure.lang.RestFn.applyTo(RestFn.java:142)
               at clojure.core$apply.invoke(core.clj:619)
               at clojure.core$load_libs.doInvoke(core.clj:5417)
               at clojure.lang.RestFn.applyTo(RestFn.java:137)
               at clojure.core$apply.invoke(core.clj:621)
               at clojure.core$use.doInvoke(core.clj:5507)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at 
backtype.storm.command.config_value$loading__4910__auto__.invoke(config_value.clj:16)
               at backtype.storm.command.config_value__init.load(Unknown Source)
               at backtype.storm.command.config_value__init.<clinit>(Unknown 
Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:278)
               at clojure.lang.RT.loadClassForName(RT.java:2098)
               at clojure.lang.RT.load(RT.java:430)
               at clojure.lang.RT.load(RT.java:411)
               at clojure.core$load$fn__5018.invoke(core.clj:5530)
               at clojure.core$load.doInvoke(core.clj:5529)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at clojure.lang.Var.invoke(Var.java:415)
               at backtype.storm.command.config_value.<clinit>(Unknown Source)
Caused by: java.lang.RuntimeException: Could not find config file on classpath 
/etc/storm/conf/storm_nimbus.yaml
               at 
backtype.storm.utils.Utils.findAndReadConfigFile(Utils.java:129)
               at backtype.storm.utils.Utils.readStormConfig(Utils.java:190)
               at backtype.storm.utils.Utils.<clinit>(Utils.java:71)
               ... 36 more
Exception in thread "main" java.lang.ExceptionInInitializerError
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:195)
               at 
backtype.storm.config$loading__4910__auto__.invoke(config.clj:17)
               at backtype.storm.config__init.load(Unknown Source)
               at backtype.storm.config__init.<clinit>(Unknown Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:278)
               at clojure.lang.RT.loadClassForName(RT.java:2098)
               at clojure.lang.RT.load(RT.java:430)
               at clojure.lang.RT.load(RT.java:411)
               at clojure.core$load$fn__5018.invoke(core.clj:5530)
               at clojure.core$load.doInvoke(core.clj:5529)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at clojure.core$load_one.invoke(core.clj:5336)
               at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
               at clojure.core$load_lib.doInvoke(core.clj:5374)
               at clojure.lang.RestFn.applyTo(RestFn.java:142)
               at clojure.core$apply.invoke(core.clj:619)
               at clojure.core$load_libs.doInvoke(core.clj:5417)
               at clojure.lang.RestFn.applyTo(RestFn.java:137)
               at clojure.core$apply.invoke(core.clj:621)
               at clojure.core$use.doInvoke(core.clj:5507)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at 
backtype.storm.command.config_value$loading__4910__auto__.invoke(config_value.clj:16)
               at backtype.storm.command.config_value__init.load(Unknown Source)
               at backtype.storm.command.config_value__init.<clinit>(Unknown 
Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:278)
               at clojure.lang.RT.loadClassForName(RT.java:2098)
               at clojure.lang.RT.load(RT.java:430)
               at clojure.lang.RT.load(RT.java:411)
               at clojure.core$load$fn__5018.invoke(core.clj:5530)
               at clojure.core$load.doInvoke(core.clj:5529)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at clojure.lang.Var.invoke(Var.java:415)
               at backtype.storm.command.config_value.<clinit>(Unknown Source)
Caused by: java.lang.RuntimeException: Could not find config file on classpath 
/etc/storm/conf/storm_nimbus.yaml
               at 
backtype.storm.utils.Utils.findAndReadConfigFile(Utils.java:129)
               at backtype.storm.utils.Utils.readStormConfig(Utils.java:190)
               at backtype.storm.utils.Utils.<clinit>(Utils.java:71)
               ... 36 more
Exception in thread "main" java.lang.ExceptionInInitializerError
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:195)
               at 
backtype.storm.config$loading__4910__auto__.invoke(config.clj:17)
               at backtype.storm.config__init.load(Unknown Source)
               at backtype.storm.config__init.<clinit>(Unknown Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:278)
               at clojure.lang.RT.loadClassForName(RT.java:2098)
               at clojure.lang.RT.load(RT.java:430)
               at clojure.lang.RT.load(RT.java:411)
               at clojure.core$load$fn__5018.invoke(core.clj:5530)
               at clojure.core$load.doInvoke(core.clj:5529)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at clojure.core$load_one.invoke(core.clj:5336)
               at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
               at clojure.core$load_lib.doInvoke(core.clj:5374)
               at clojure.lang.RestFn.applyTo(RestFn.java:142)
               at clojure.core$apply.invoke(core.clj:619)
               at clojure.core$load_libs.doInvoke(core.clj:5417)
               at clojure.lang.RestFn.applyTo(RestFn.java:137)
               at clojure.core$apply.invoke(core.clj:621)
               at clojure.core$use.doInvoke(core.clj:5507)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at 
backtype.storm.command.config_value$loading__4910__auto__.invoke(config_value.clj:16)
               at backtype.storm.command.config_value__init.load(Unknown Source)
               at backtype.storm.command.config_value__init.<clinit>(Unknown 
Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:278)
               at clojure.lang.RT.loadClassForName(RT.java:2098)
               at clojure.lang.RT.load(RT.java:430)
               at clojure.lang.RT.load(RT.java:411)
               at clojure.core$load$fn__5018.invoke(core.clj:5530)
               at clojure.core$load.doInvoke(core.clj:5529)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at clojure.lang.Var.invoke(Var.java:415)
               at backtype.storm.command.config_value.<clinit>(Unknown Source)
Caused by: java.lang.RuntimeException: Could not find config file on classpath 
/etc/storm/conf/storm_nimbus.yaml
               at 
backtype.storm.utils.Utils.findAndReadConfigFile(Utils.java:129)
               at backtype.storm.utils.Utils.readStormConfig(Utils.java:190)
               at backtype.storm.utils.Utils.<clinit>(Utils.java:71)
               ... 36 more
Running: java -server -Dstorm.options= 
-Dstorm.home=/opt/cloudera/parcels/STORM-0.9.5-u1 -Dstorm.log.dir= 
-Djava.library.path= -Dstorm.conf.file=/etc/storm/conf/storm_nimbus.yaml -cp 
/opt/cloudera/parcels/STORM-0.9.5-u1/lib/jgrapht-core-0.9.0.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/tools.cli-0.2.4.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/commons-codec-1.6.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/jline-2.11.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/asm-4.0.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/tools.macro-0.1.0.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/math.numeric-tower-0.0.1.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/joda-time-2.0.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/jetty-util-6.1.26.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/disruptor-2.10.1.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/objenesis-1.2.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/commons-io-2.4.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/clout-1.0.1.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/clojure-1.5.1.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/chill-java-0.3.5.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/ring-servlet-0.3.11.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/core.incubator-0.1.0.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/ring-core-1.1.5.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/storm-core-0.9.5.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/log4j-over-slf4j-1.6.6.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/compojure-1.1.3.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/snakeyaml-1.11.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/clj-time-0.4.1.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/commons-lang-2.5.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/commons-exec-1.1.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/kryo-2.21.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/clj-stacktrace-0.2.2.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/commons-fileupload-1.2.1.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/logback-core-1.0.13.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/servlet-api-2.5.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/hiccup-0.3.6.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/json-simple-1.1.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/reflectasm-1.07-shaded.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/logback-classic-1.0.13.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/commons-logging-1.1.3.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/tools.logging-0.2.3.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/ring-jetty-adapter-0.3.11.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/minlog-1.2.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/ring-devel-0.3.11.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/jetty-6.1.26.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/carbonite-1.4.0.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/lib/slf4j-api-1.7.5.jar:/opt/cloudera/parcels/STORM-0.9.5-u1/conf
 -Dlogfile.name=nimbus.log 
-Dlogback.configurationFile=/opt/cloudera/parcels/STORM-0.9.5-u1/logback/cluster.xml
 backtype.storm.daemon.nimbus
Exception in thread "main" java.lang.ExceptionInInitializerError
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:195)
               at backtype.storm.util$loading__4910__auto__.invoke(util.clj:17)
               at backtype.storm.util__init.load(Unknown Source)
               at backtype.storm.util__init.<clinit>(Unknown Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:278)
               at clojure.lang.RT.loadClassForName(RT.java:2098)
               at clojure.lang.RT.load(RT.java:430)
               at clojure.lang.RT.load(RT.java:411)
               at clojure.core$load$fn__5018.invoke(core.clj:5530)
               at clojure.core$load.doInvoke(core.clj:5529)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at clojure.core$load_one.invoke(core.clj:5336)
               at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
               at clojure.core$load_lib.doInvoke(core.clj:5374)
               at clojure.lang.RestFn.applyTo(RestFn.java:142)
               at clojure.core$apply.invoke(core.clj:619)
               at clojure.core$load_libs.doInvoke(core.clj:5417)
               at clojure.lang.RestFn.applyTo(RestFn.java:137)
               at clojure.core$apply.invoke(core.clj:621)
               at clojure.core$use.doInvoke(core.clj:5507)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at 
backtype.storm.scheduler.DefaultScheduler$loading__4910__auto__.invoke(DefaultScheduler.clj:16)
               at backtype.storm.scheduler.DefaultScheduler__init.load(Unknown 
Source)
               at 
backtype.storm.scheduler.DefaultScheduler__init.<clinit>(Unknown Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:278)
               at clojure.lang.RT.loadClassForName(RT.java:2098)
               at clojure.lang.RT.load(RT.java:430)
               at clojure.lang.RT.load(RT.java:411)
               at clojure.core$load$fn__5018.invoke(core.clj:5530)
               at clojure.core$load.doInvoke(core.clj:5529)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at clojure.core$load_one.invoke(core.clj:5336)
               at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
               at clojure.core$load_lib.doInvoke(core.clj:5374)
               at clojure.lang.RestFn.applyTo(RestFn.java:142)
               at clojure.core$apply.invoke(core.clj:619)
               at clojure.core$load_libs.doInvoke(core.clj:5413)
               at clojure.lang.RestFn.applyTo(RestFn.java:137)
               at clojure.core$apply.invoke(core.clj:621)
               at clojure.core$use.doInvoke(core.clj:5507)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at 
backtype.storm.daemon.nimbus$loading__4910__auto__.invoke(nimbus.clj:16)
               at backtype.storm.daemon.nimbus__init.load(Unknown Source)
               at backtype.storm.daemon.nimbus__init.<clinit>(Unknown Source)
               at java.lang.Class.forName0(Native Method)
               at java.lang.Class.forName(Class.java:278)
               at clojure.lang.RT.loadClassForName(RT.java:2098)
               at clojure.lang.RT.load(RT.java:430)
               at clojure.lang.RT.load(RT.java:411)
               at clojure.core$load$fn__5018.invoke(core.clj:5530)
               at clojure.core$load.doInvoke(core.clj:5529)
               at clojure.lang.RestFn.invoke(RestFn.java:408)
               at clojure.lang.Var.invoke(Var.java:415)
               at backtype.storm.daemon.nimbus.<clinit>(Unknown Source)
Caused by: java.lang.RuntimeException: Could not find config file on classpath 
/etc/storm/conf/storm_nimbus.yaml
               at 
backtype.storm.utils.Utils.findAndReadConfigFile(Utils.java:129)
               at backtype.storm.utils.Utils.readStormConfig(Utils.java:190)
               at backtype.storm.utils.Utils.<clinit>(Utils.java:71)
               ... 57 more
From: Garcia-Contractor, Joseph (CORP) [mailto:[email protected]]
Sent: Thursday, October 08, 2015 3:34 PM
To: [email protected]
Subject: RE: Storm and enviroment variables

Yeap… it certainly does… I missed that.  Thanks for pointing it out!   ☺


From: Priyank Shah [mailto:[email protected]]
Sent: Thursday, October 08, 2015 12:51 PM
To: [email protected]<mailto:[email protected]>
Subject: Re: Storm and enviroment variables

Glad that it fixed your issue. The python script has the —config option. Check 
https://github.com/apache/storm/blob/master/bin/storm.py#L632 out.

From: "Garcia-Contractor, Joseph (CORP)"
Reply-To: "[email protected]<mailto:[email protected]>"
Date: Thursday, October 8, 2015 at 6:52 AM
To: "[email protected]<mailto:[email protected]>"
Subject: RE: Storm and enviroment variables

I did not see a –config option in the storm python start script… I did however 
find in there that if I set the STORM_CONF_DIR environment variable it would 
look for storm.yaml in that dir and this fixed my issue.

From: Priyank Shah [mailto:[email protected]]
Sent: Wednesday, October 07, 2015 5:31 PM
To: [email protected]<mailto:[email protected]>
Subject: Re: Storm and enviroment variables

I think you can specify a config file that is other than the default. Can you 
try —config <pathToYourYamlFile> command line option while running storm 
command ?

From: "Garcia-Contractor, Joseph (CORP)"
Reply-To: "[email protected]<mailto:[email protected]>"
Date: Wednesday, October 7, 2015 at 2:15 PM
To: "[email protected]<mailto:[email protected]>"
Subject: RE: Storm and enviroment variables

Ok so an additional question here…

Can I tell storm on startup to use a storm.yaml file that I specify with a full 
path, or will it only look in /etc/storm/conf/storm.yaml?

Joe

From: Priyank Shah [mailto:[email protected]]
Sent: Wednesday, September 30, 2015 2:31 PM
To: [email protected]<mailto:[email protected]>
Subject: Re: Storm and enviroment variables

Hi Joseph,

I think storm core components don’t support environment variables. It either 
has to be a config yaml file or a –c option. For –c option, its a key value 
pair of the form key=value. I checked the code and key should be same as key in 
yaml. It should work for simple strings.  But not sure about other types. In 
the code its trying to parse it as a json. You can give it a try.

I don’t know about logback file . But you can configure your log directory 
using –c storm.log.dir=/var/log/ option.

From: "Garcia-Contractor, Joseph (CORP)"
Reply-To: "[email protected]<mailto:[email protected]>"
Date: Wednesday, September 30, 2015 at 8:05 AM
To: "[email protected]<mailto:[email protected]>"
Subject: Storm and enviroment variables

Hi All,

Another question.

Does storm accept environment variables that can be used in place of 
/etc/storm/conf/storm.yaml?

If so, what is the format of the environment variable it?  IE.: storm.local.dir 
in storm.yaml would be STORM_LOCAL_DIR in the environment.

I see that I can use –c at the command line but I would prefer using 
environment variable without having to build the command line args.  If I need 
to go with –c, what would the arguments still be in yaml format?  IE.: 
storm.zookeeper.servers=”[ zk_host1.foo, zk_host2.foo, zk_host3.foo ]

Is there a way to override the where the logback file is located and read from?
________________________________
This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, notify the sender immediately by return email and delete the message 
and any attachments from your system.

Reply via email to