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


    作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息

    网址: http://www.cnblogs.com/panfeng412/archive/2013/11/30/some-issues-and-solutions-from-building-storm.html

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

    问题1:下载lein 2.3.4,如果使用root用户,运行lein sub install编译时报了WARNING信息。

    WARNING: You're currently running as root; probably by accident.
    Press control-C to abort or Enter to continue as root.
    Set LEIN_ROOT to disable this warning.

    解决方法:设置LEIN_ROOT环境变量。

    export LEIN_ROOT=1

    问题2:运行lein sub install编译时,报了以下错误信息。

    Unrecognized VM option 'TieredStopAtLevel=1'
    Could not create the Java virtual machine.

    解决方法:原因是使用JDK1.6,不支持TieredStopAtLevel=1,需要安装JDK1.7版本,并设置JAVA_HOME。

    export JAVA_HOME=/usr/java/jdk1.7.0_45/

    问题3:报backtype.storm.LocalCluster和backtype.storm.LocalDRPC类找不到:

    Compiling backtype.storm.testing4j
    Exception in thread "main" java.lang.ClassNotFoundException: backtype.storm.LocalCluster, compiling:(testing4j.clj:1)
            at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3387)
            at clojure.lang.Compiler.compile1(Compiler.java:7035)
            at clojure.lang.Compiler.compile1(Compiler.java:7025)
            at clojure.lang.Compiler.compile(Compiler.java:7097)
            at clojure.lang.RT.compile(RT.java:387)
            at clojure.lang.RT.load(RT.java:427)
            at clojure.lang.RT.load(RT.java:400)
            at clojure.core$load$fn__4890.invoke(core.clj:5415)
            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找不到。

            at clojure.main.main(main.java:37) ~[clojure-1.4.0.jar:na]
    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目录,而该目录在动态链接时没找到。两种解决办法:

    export LD_LIBRARY_PATH=/usr/local/lib/

    或者编辑/etc/ld.so.conf加上一行:/usr/local/lib/,然后使之生效。

    sudo ldconfig
  • 相关阅读:
    Java并发包中Lock的实现原理
    多线程---再次认识volatile,Synchronize,lock
    共享锁(S锁)和排它锁(X锁)
    Java 7中的TransferQueue 以及 SynchronousQueue
    精巧好用的DelayQueue
    非阻塞同步算法与CAS(Compare and Swap)无锁算法
    彻底理解线索二叉树
    使用import取代require
    子页面iframe跨域执行父页面定义的JS方法
    利用js实现 禁用浏览器后退
  • 原文地址:https://www.cnblogs.com/panfeng412/p/some-issues-and-solutions-from-building-storm.html
Copyright © 2020-2023  润新知