Storm编译打包过程中遇到的一些问题及解决方法
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息
下面是在编译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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2012-11-30 Storm集群安装部署步骤【详细版】