分享

Storm编译打包过程中遇到的一些问题及解决方法

xioaxu790 发表于 2014-4-12 16:45:20 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 10948
1、Storm编译打包过程中,一般会遇到哪些情况,我们该怎么解决
2、下面列出了部分问题及解决方法,主要起个示范性作用

已有(1)人评论

跳转到指定楼层
xioaxu790 发表于 2014-4-12 16:47:06
本帖最后由 pig2 于 2014-4-12 18:36 编辑


下面是在编译Storm过程中遇到的一些问题以及解决办法:

问题1:下载lein 2.3.4,如果使用root用户,运行lein sub install编译时报了WARNING信息。
  1. WARNING: You're currently running as root; probably by accident.
  2. Press control-C to abort or Enter to continue as root.
  3. Set LEIN_ROOT to disable this warning.
复制代码
解决方法:设置LEIN_ROOT环境变量。
  1. export LEIN_ROOT=1
复制代码

问题2:运行lein sub install编译时,报了以下错误信息。
  1. Unrecognized VM option 'TieredStopAtLevel=1'
  2. Could not create the Java virtual machine.
复制代码
解决方法:原因是使用JDK1.6,不支持TieredStopAtLevel=1,需要安装JDK1.7版本,并设置JAVA_HOME。
  1. export JAVA_HOME=/usr/java/jdk1.7.0_45/
复制代码

问题3:报backtype.storm.LocalCluster和backtype.storm.LocalDRPC类找不到:
  1. Compiling backtype.storm.testing4j
  2. Exception in thread "main" java.lang.ClassNotFoundException: backtype.storm.LocalCluster, compiling:(testing4j.clj:1)
  3.         at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3387)
  4.         at clojure.lang.Compiler.compile1(Compiler.java:7035)
  5.         at clojure.lang.Compiler.compile1(Compiler.java:7025)
  6.         at clojure.lang.Compiler.compile(Compiler.java:7097)
  7.         at clojure.lang.RT.compile(RT.java:387)
  8.         at clojure.lang.RT.load(RT.java:427)
  9.         at clojure.lang.RT.load(RT.java:400)
  10.         at clojure.core$load$fn__4890.invoke(core.clj:5415)
  11.         at clojure.core$load.doInvoke(core.clj:5414)
复制代码
解决方法:修改storm-core/src/clj/backtype/storm/testing4j.clj和storm-core/src/clj/storm/trident/testing.clj,分别引用这两个类:

testing4j.clj:
  1. (ns backtype.storm.testing4j
  2. (:import [java.util Map List Collection ArrayList])
  3. (:require [backtype.storm.LocalCluster :as LocalCluster])
复制代码

testing.clj:
  1. (ns storm.trident.testing
  2. (:require [backtype.storm.LocalDRPC :as LocalDRPC])
复制代码

问题4:运行bash ./bin/install_zmq.sh后检查zmq和jzmq是否安装成功,例如如果没有安装libtool会导致autogen.sh运行失败,进而导致jzmq编译安装失败。

解决方法:通过yum或apt-get安装libtool包。

问题5:运行lein sub install报错提示libzmq.so.1找不到。
  1.    at clojure.main.main(main.java:37) ~[clojure-1.4.0.jar:na]
  2. Caused by: java.lang.UnsatisfiedLinkError: /usr/local/lib/libjzmq.so.0.0.0: libzmq.so.1: cannot open shared object file: No such file or directory
复制代码
解决方法:原因是libzmq.so.1安装在了/usr/local/lib目录,而该目录在动态链接时没找到。两种解决办法:
  1. export LD_LIBRARY_PATH=/usr/local/lib/
复制代码
或者编辑/etc/ld.so.conf加上一行:/usr/local/lib/,然后使之生效。
  1. sudo ldconfig
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条