我按照http://stormcrawler.net/getting-started/指南生成拓扑的 jar 文件。当我在readme
文件中使用storm命令运行拓扑时,在执行 FetcherBolt 时出现以下错误。我在 Hortonworks 集群中安装了 Storm Storm 1.1.0.2.6.4.0-91。无论 -local 或分布式模式如何,我都会遇到相同的异常。我得到以下异常
java.lang.NoSuchMethodError: org.apache.commons.logging.impl.LogFactoryImpl.handleThrowable(Ljava/lang/Throwable;)V 在 org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:568) 在org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:292) 在 org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:269) 在 org.apache.commons.logging。 LogFactory.getLog(LogFactory.java:685) 在 org.apache.http.conn.ssl.AbstractVerifier.(AbstractVerifier.java:61) 在 org.apache.http.conn.ssl.AllowAllHostnameVerifier.(AllowAllHostnameVerifier.java:44)在 org.apache.http.conn.ssl.AllowAllHostnameVerifier.(AllowAllHostnameVerifier.java:46) 在 org.apache.http.conn.ssl.SSLConnectionSocketFactory.(SSLConnectionSocketFactory.java:146) 在 org.apache.http.impl.conn .PoolingHttpClientConnectionManager。getDefaultRegistry(PoolingHttpClientConnectionManager.java:115) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.(PoolingHttpClientConnectionManager.java:122) at com.digitalpebble.stormcrawler.protocol.httpclient.HttpProtocol.(HttpProtocol.java:76) at java .lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.digitalpebble.stormcrawler.protocol.ProtocolFactory.(ProtocolFactory.java:60) at com.digitalpebble.stormcrawler。 bolt.FetcherBolt.prepare(FetcherBolt.java:738) at org.apache.storm.daemon.executor$fn__9635$fn__9648.invoke(executor.clj:794) at org.apache.storm.util$async_loop$fn__557.invoke( util.clj:482) 在 clojure.lang.AFn.run(AFn.java:22) 在 java.lang.Thread.run(Thread.java:748)(PoolingHttpClientConnectionManager.java:122) 在 com.digitalpebble.stormcrawler.protocol.httpclient.HttpProtocol.(HttpProtocol.java:76) 在 java.lang.Class.forName0(Native Method) 在 java.lang.Class.forName(Class. java:264) 在 com.digitalpebble.stormcrawler.protocol.ProtocolFactory.(ProtocolFactory.java:60) 在 com.digitalpebble.stormcrawler.bolt.FetcherBolt.prepare(FetcherBolt.java:738) 在 org.apache.storm.daemon。 executor$fn__9635$fn__9648.invoke(executor.clj:794) at org.apache.storm.util$async_loop$fn__557.invoke(util.clj:482) at clojure.lang.AFn.run(AFn.java:22)在 java.lang.Thread.run(Thread.java:748)(PoolingHttpClientConnectionManager.java:122) 在 com.digitalpebble.stormcrawler.protocol.httpclient.HttpProtocol.(HttpProtocol.java:76) 在 java.lang.Class.forName0(Native Method) 在 java.lang.Class.forName(Class. java:264) 在 com.digitalpebble.stormcrawler.protocol.ProtocolFactory.(ProtocolFactory.java:60) 在 com.digitalpebble.stormcrawler.bolt.FetcherBolt.prepare(FetcherBolt.java:738) 在 org.apache.storm.daemon。 executor$fn__9635$fn__9648.invoke(executor.clj:794) at org.apache.storm.util$async_loop$fn__557.invoke(util.clj:482) at clojure.lang.AFn.run(AFn.java:22)在 java.lang.Thread.run(Thread.java:748)Stormcrawler.protocol.ProtocolFactory.(ProtocolFactory.java:60) at com.digitalpebble.stormcrawler.bolt.FetcherBolt.prepare(FetcherBolt.java:738) at org.apache.storm.daemon.executor$fn__9635$fn__9648.invoke(executor .clj:794) 在 org.apache.storm.util$async_loop$fn__557.invoke(util.clj:482) 在 clojure.lang.AFn.run(AFn.java:22) 在 java.lang.Thread.run(线程.java:748)Stormcrawler.protocol.ProtocolFactory.(ProtocolFactory.java:60) at com.digitalpebble.stormcrawler.bolt.FetcherBolt.prepare(FetcherBolt.java:738) at org.apache.storm.daemon.executor$fn__9635$fn__9648.invoke(executor .clj:794) 在 org.apache.storm.util$async_loop$fn__557.invoke(util.clj:482) 在 clojure.lang.AFn.run(AFn.java:22) 在 java.lang.Thread.run(线程.java:748)