在StormHBase集成期间,类路径上需要设置哪些JAR

drkbr07n  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(267)

我正在尝试整合storm和hbase,我的程序被提交到storm topology,没有任何错误或异常,但是当我检查日志时,我得到java.lang.runtimeexception:java.lang.classnotfoundexception:org.apache.storm.hbase.bolt.hbasebolt and 我已经将storm-hbase-0.9.3.jar添加到classpath中,即storm lib文件夹在运行时仍会出现异常-
java.lang.runtimeexception:java.lang.classnotfoundexception:org.apache.storm.hbase.bolt.hbasebolt at backtype.storm.serialization.defaultserializationdelegate.deserialize(defaultserializationdelegate)。java:58)~[风暴核心-0.9.3。jar:0.9.3]在backtype.storm.utils.utils.deserialize(utils。java:89)~[风暴核心-0.9.3。jar:0.9.3]在backtype.storm.utils.utils.getsetcomponentobject(utils。java:228)~[风暴核心-0.9.3。jar:0.9.3]在backtype.storm.daemon.task$get\u task\u object.invoke(task。clj:73)~[风暴核心-0.9.3。jar:0.9.3]在backtype.storm.daemon.task$mk\u task\u data$fn\u 3131.invoke(任务。clj:180)~[风暴核心-0.9.3。jar:0.9.3]在backtype.storm.util$assoc\u apply\u self.invoke(util。clj:850)~[风暴核心-0.9.3。jar:0.9.3]在backtype.storm.daemon.task$mk\u task\u data.invoke(task。clj:173)~[风暴核心-0.9.3。jar:0.9.3]在backtype.storm.daemon.task$mk\u task.invoke(task。clj:184)~[风暴核心-0.9.3。jar:0.9.3]在backtype.storm.daemon.executor$mk\u executor$fn\uu3310.invoke(executor。clj:323)~[风暴核心-0.9.3。jar:0.9.3]在clojure.core$map$fn\uu4207.invoke(core。clj:2485)~[clojure-1.5.1。jar:na]在clojure.lang.lazyseq.sval(lazyseq。java:42)~[clojure-1.5.1。jar:na]在clojure.lang.lazyseq.seq(lazyseq。java:60)~[clojure-1.5.1。jar:na]在clojure.lang.rt.seq(右。java:484)~[clojure-1.5.1。jar:na]在clojure.core$seq.invoke(core。clj:133)~[clojure-1.5.1。jar:na]在clojure.core.protocols$seq\ u reduce.invoke(protocols。clj:30)~[clojure-1.5.1。jar:na]在clojure.core.protocols$fn\uu 6026.invoke(protocols。clj:54)~[clojure-1.5.1。jar:na]在clojure.core.protocols$fn\uu 5979$g\uu 5974\uu 5992.invoke(协议。clj:13)~[clojure-1.5.1。jar:na]在clojure.core$reduce.invoke(core。clj:6177)~[clojure-1.5.1。jar:na]在clojure.core$into.invoke(core。clj:6229)~[clojure-1.5.1。jar:na]在backtype.storm.daemon.executor$mk\u executor.invoke(executor。clj:323)~[风暴核心-0.9.3。jar:0.9.3]在backtype.storm.daemon.worker$fn\uuu3743$exec\u fn\uuu1108\uuuu auto\uuuuuuuuu3744$iter\uuuu3749\uuu3753$fn\uu3754.invoke(worker。clj:382)~[风暴核心-0.9.3。jar:0.9.3]在clojure.lang.lazyseq.sval(lazyseq。java:42)~[clojure-1.5.1。jar:na]在clojure.lang.lazyseq.seq(lazyseq。java:60)~[clojure-1.5.1。jar:na]在clojure.lang.rt.seq(rt。java:484)~[clojure-1.5.1。jar:na]在clojure.core$seq.invoke(核心。clj:133)~[clojure-1.5.1。jar:na]在clojure.core$dorun.invoke(core。clj:2780)~[clojure-1.5.1。jar:na]在clojure.core$doall.invoke(core。clj:2796)~[clojure-1.5.1。jar:na]在backtype.storm.daemon.worker$fn\uuu3743$exec\u fn\uuu1108\uuuu auto\uuuuuuu3744.invoke(worker。clj:382)~[风暴核心-0.9.3。jar:0.9.3]在clojure.lang.afn.applytohelper(afn。java:185)[clojure-1.5.1。jar:na]在clojure.lang.afn.applyto(afn。java:151)[clojure-1.5.1。jar:na]在clojure.core$apply.invoke(core。clj:617)~[clojure-1.5.1。jar:na]在backtype.storm.daemon.worker$fn\uuu3743$mk\u worker\uuu3799.doinvoke(worker。clj:354)[风暴核心-0.9.3。jar:0.9.3]在clojure.lang.restfn.invoke(restfn。java:512)[clojure-1.5.1。jar:na]在backtype.storm.daemon.worker$\u main.invoke(worker。clj:461)[风暴核心-0.9.3。jar:0.9.3]在clojure.lang.afn.applytohelper(afn。java:172)[clojure-1.5.1。jar:na]在clojure.lang.afn.applyto(afn。java:151)[clojure-1.5.1。jar:na]位于backtype.storm.daemon.worker.main(未知源)[风暴核心-0.9.3。jar:0.9.3]原因:java.lang.classnotfoundexception:org.apache.storm.hbase.bolt.hbasebolt at java.net.urlclassloader$1.run(urlclassloader)。java:366)~[na:1.7.0\u 72]在java.net.urlclassloader$1.run(urlclassloader。java:355)~[na:1.7.0\u 72]位于java.security.accesscontroller.doprivileged(本机方法)~[na:1.7.0\u 72]位于java.net.urlclassloader.findclass(urlclassloader。java:354)~[na:1.7.0\u 72]位于java.lang.classloader.loadclass(classloader。java:425)~[na:1.7.0_]在sun.misc.launcher$appclassloader.loadclass(launcher。java:308)~[na:1.7.0\u 72]位于java.lang.classloader.loadclass(classloader。java:358)~[na:1.7.0\u 72]位于java.lang.class.forname0(本机方法)~[na:1.7.0\u 72]在java.lang.class.forname(class。java:274)~[na:1.7.0\u 72]位于java.io.objectinputstream.resolveclass(objectinputstream)。java:625)~[na:1.7.0\u 72]位于java.io.objectinputstream.readnonproxydesc(objectinputstream。java:1612)~[na:1.7.0\u 72]位于java.io.objectinputstream.readclassdesc(objectinputstream。java:1517)~(na:1.7.0μ72)在java.io.objectinputstream.readordinaryobject(objectinputstream。java:1771)~[na:1.7.0\u 72]位于java.io.objectinputstream.readobject0(objectinputstream)。java:1350)~[na:1.7.0\u 72]位于java.io.objectinputstream.readobject(objectinputstream。java:370)~(na:1.7.0μ72)在backtype.storm.serialization.defaultserializationdelegate.deserialize(defaultserializationdelegate。java:52)~[风暴核心-0.9.3。jar:0.9.3] ... 36公共帧省略2015-04-01t18:20:13.559+0530 b.s.util[error]停止进程:(“初始化时出错”)java.lang.runtimeexception:(“初始化时出错”)位于backtype.storm.util$exit\u process\u bang\u.doinvoke(util)。clj:325)[风暴核心-0.9.3。jar:0.9.3]在clojure.lang.restfn.invoke(restfn。java:423)[clojure-1.5.1。jar:na]在backtype.storm.daemon.worker$fn\uu3743$mk\u worker\uu3799.doinvoke(worker。clj:354)[风暴核心-0.9.3。jar:0.9.3]在clojure.lang.restfn.invoke(restfn。java:512)[clojure-1.5.1。jar:na]在backtype.storm.daemon.worker$\u main.invoke(worker。clj:461)[风暴核心-0.9.3。jar:0.9.3]在clojure.lang.afn.applytohelper(afn。java:172)[clojure-1.5.1。jar:na]在clojure.lang.afn.applyto(afn。java:151)[clojure-1.5.1。jar:na]在backtype.storm.daemon.worker.main(未知源)[storm-core-0.9.3。jar:0.9.3]
有人能告诉我如何解决这个问题吗?我在类路径中丢失了任何jar吗?

kjthegm6

kjthegm61#

最后利用该插件在lib文件夹中添加pom.xml的所有jar-

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>/usr/local/storm/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>

一切都很顺利。

相关问题