You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "caofangkun (JIRA)" <ji...@apache.org> on 2015/01/27 04:10:35 UTC
[jira] [Closed] (STORM-550) get an error when use "--config" option
to override config file
[ https://issues.apache.org/jira/browse/STORM-550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
caofangkun closed STORM-550.
----------------------------
Resolution: Duplicate
> get an error when use "--config" option to override config file
> ---------------------------------------------------------------
>
> Key: STORM-550
> URL: https://issues.apache.org/jira/browse/STORM-550
> Project: Apache Storm
> Issue Type: Bug
> Affects Versions: 0.9.3-rc2
> Reporter: caofangkun
> Assignee: caofangkun
> Priority: Minor
>
> {code:title=Utils.java|borderStyle=solid}
> Index: src/jvm/backtype/storm/utils/Utils.java
> ===================================================================
> --- src/jvm/backtype/storm/utils/Utils.java (revision 4021)
> +++ src/jvm/backtype/storm/utils/Utils.java (working copy)
> @@ -19,7 +19,10 @@
>
> import java.io.ByteArrayInputStream;
> import java.io.ByteArrayOutputStream;
> +import java.io.File;
> +import java.io.FileNotFoundException;
> import java.io.FileOutputStream;
> +import java.io.FileInputStream;
> import java.io.IOException;
> import java.io.InputStream;
> import java.io.InputStreamReader;
> @@ -31,6 +34,7 @@
> import java.nio.channels.Channels;
> import java.nio.channels.WritableByteChannel;
> import java.util.ArrayList;
> +import java.util.Collections;
> import java.util.Enumeration;
> import java.util.HashMap;
> import java.util.HashSet;
> @@ -44,6 +48,7 @@
>
> import backtype.storm.serialization.DefaultSerializationDelegate;
> import backtype.storm.serialization.SerializationDelegate;
> +
> import org.apache.curator.framework.CuratorFramework;
> import org.apache.curator.framework.CuratorFrameworkFactory;
> import org.apache.commons.lang.StringUtils;
> @@ -121,6 +126,27 @@
> throw new RuntimeException(e);
> }
> }
> +
> + @SuppressWarnings("unchecked")
> + public static Map<String, Object> loadConfigFile(String file) {
> + Map<String, Object> result = new HashMap<String, Object>();
> + if (file == null) {
> + return result;
> + }
> + Yaml yaml = new Yaml();
> + InputStream in;
> + try {
> + in = new FileInputStream(new File(file));
> + Object obj = yaml.load(in);
> + if (!(obj instanceof Map)) {
> + return Collections.<String, Object> emptyMap();
> + }
> + result = (Map<String, Object>) obj;
> + } catch (FileNotFoundException e) {
> + throw new RuntimeException(e);
> + }
> + return result;
> + }
>
> public static Map findAndReadConfigFile(String name, boolean mustExist) {
> try {
> @@ -187,7 +213,7 @@
> if (confFile==null || confFile.equals("")) {
> storm = findAndReadConfigFile("storm.yaml", false);
> } else {
> - storm = findAndReadConfigFile(confFile, true);
> + storm = loadConfigFile(confFile);
> }
> ret.putAll(storm);
> ret.putAll(readCommandLineOpts());
> {code}
> bin/storm --config ~/deploy/storm-conf/storm.yaml supervisor
> {code:title=Could not find config file on classpath|borderStyle=solid}
> Exception in thread "main" java.lang.ExceptionInInitializerError
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:171)
> 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:249)
> 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.daemon.common$loading__4910__auto__.invoke(common.clj:16)
> at backtype.storm.daemon.common__init.load(Unknown Source)
> at backtype.storm.daemon.common__init.<clinit>(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:249)
> 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.daemon.supervisor$loading__4910__auto__.invoke(supervisor.clj:16)
> at backtype.storm.daemon.supervisor__init.load(Unknown Source)
> at backtype.storm.daemon.supervisor__init.<clinit>(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:249)
> 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.supervisor.<clinit>(Unknown Source)
> Caused by: java.lang.RuntimeException: Could not find config file on classpath /home/caokun/deploy/storm-conf/storm.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
> Could not find the main class: backtype.storm.daemon.supervisor. Program will exit.
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)