Storm常见问题及解决方法收集【持续更新中】
2012-12-18 17:48
399 查看
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息
网址: http://www.cnblogs.com/panfeng412/archive/2012/11/23/storm-common-issues-and-solutions-summarizing.html
以下是对个人在使用Storm过程中遇到的一些常见问题及解决方法的整理,其中部分问题的解决方法来自于网络,由于已找不到原始链接,抱歉这里没有逐一列举。
解决方法:打开storm.yaml文件正确配置:nimbus.host: "xxx.xxx.xxx.xxx",重启nimbus后台程序即可。
解决方法:发布时换一个拓扑名称即可。
解决方法1:export LD_LIBRARY_PATH=/usr/local/lib
解决方法2:编辑/etc/ld.so.conf文件,增加一行:/usr/local/lib。再执行sudo ldconfig命令,重启Supervisor。
解决方法:在conf/storm.yaml文件中增加drpc服务器配置,启动配置文件中指定的所有drpc服务。内容如下:
drpc.servers:
- "drpc服务器ip"
2011-12-02 09:59:16 task [INFO] Failing message backtype.storm.drpc.DRPCSpout$DRPCMessageId@3770bdf7: source: 1:27, stream: 1, id: {-5919451531315711689=-5919451531315711689}, [foo.com/blog/1, {"port":3772,"id":"5","host":"10.0.0.24"}]
解决方法:主机名,域名,hosts文件配置不正确会引起这类错误。检查并修改storm相关机器的主机名,域名,hosts文件。重启网络服务:service network restart。重启storm,再次调用drpc服务,成功。Hosts文件中必须包含如下内容:
[nimbus主机ip] [nimbus主机名] [nimbus主机别名]
[supervisor主机ip] [supervisor主机名] [supervisor主机别名]
[zookeeper主机ip] [zookeeper主机名] [zookeeper主机别名]
解决方法:使用slf4j代替log4j。
解决方法:提交Topology时设置适当的消息超时时间,比默认消息超时时间(30秒)更长。
conf.setMessageTimeoutSecs(60);
解决方法:在storm.yaml中添加:
java.library.path: "/opt/storm/jzmq/lib:/opt/storm/zeromq/lib:/usr/local/lib:/opt/local/lib:/usr/lib"
make[1]: *** No rule to make target `classdist_noinst.stamp',
needed by `org/zeromq/ZMQ.class'. Stop.
解决方法:手动创建classdist_noinst.stamp空文件。
touch src/classdist_noinst.stamp
error: cannot access org.zeromq.ZMQ
class file for org.zeromq.ZMQ not found
javadoc: error - Class org.zeromq.ZMQ not found.
解决方法:手动编译,然后重新make即可通过。
cd src
javac -d . org/zeromq/*.java
网址: http://www.cnblogs.com/panfeng412/archive/2012/11/23/storm-common-issues-and-solutions-summarizing.html
以下是对个人在使用Storm过程中遇到的一些常见问题及解决方法的整理,其中部分问题的解决方法来自于网络,由于已找不到原始链接,抱歉这里没有逐一列举。
1. 发布topologies到远程集群时,出现Nimbus host is not set异常
原因是Nimbus没有被正确启动起来,可能是storm.yaml文件没有配置,或者配置有问题。解决方法:打开storm.yaml文件正确配置:nimbus.host: "xxx.xxx.xxx.xxx",重启nimbus后台程序即可。
2. 发布topologies到远程集群时,出现AlreadyAliveException(msg: xxx is already active)异常
原因是提供的topology与已经在运行的topology重名。解决方法:发布时换一个拓扑名称即可。
3. 启动Supervisor时,出现java.lang.UnsatisfiedLinkError: /usr/local/lib/libjzmq.so.0.0.0: libzmq.so.1: cannot open shared object file: No such file or directory异常
原因是未找到zmq动态链接库。解决方法1:export LD_LIBRARY_PATH=/usr/local/lib
解决方法2:编辑/etc/ld.so.conf文件,增加一行:/usr/local/lib。再执行sudo ldconfig命令,重启Supervisor。
4. 发布drpc类型的topologies到远程集群时,出现空指针异常,连接drpc服务器失败
原因是未正确配置drpc服务器地址。解决方法:在conf/storm.yaml文件中增加drpc服务器配置,启动配置文件中指定的所有drpc服务。内容如下:
drpc.servers:
- "drpc服务器ip"
5. 客户端调用drpc服务时,worker的日志中出现Failing message,而bolt都未收到数据
错误日志如下所示:2011-12-02 09:59:16 task [INFO] Failing message backtype.storm.drpc.DRPCSpout$DRPCMessageId@3770bdf7: source: 1:27, stream: 1, id: {-5919451531315711689=-5919451531315711689}, [foo.com/blog/1, {"port":3772,"id":"5","host":"10.0.0.24"}]
解决方法:主机名,域名,hosts文件配置不正确会引起这类错误。检查并修改storm相关机器的主机名,域名,hosts文件。重启网络服务:service network restart。重启storm,再次调用drpc服务,成功。Hosts文件中必须包含如下内容:
[nimbus主机ip] [nimbus主机名] [nimbus主机别名]
[supervisor主机ip] [supervisor主机名] [supervisor主机别名]
[zookeeper主机ip] [zookeeper主机名] [zookeeper主机别名]
6. 发布topologies时,出现不能序列化log4j.Logger的异常
原因是日志系统无法正确支付序列化。解决方法:使用slf4j代替log4j。
7. bolt在处理消息时,worker的日志中出现Failing message
原因可能是因为Topology的消息处理超时所致。解决方法:提交Topology时设置适当的消息超时时间,比默认消息超时时间(30秒)更长。
conf.setMessageTimeoutSecs(60);
8. storm启动时报no jzmq in java.library.path错误
原因是找不到jzmq,默认情况下在执行install_zmq.sh时,那些.so文件安装路径在/usr/local/lib,但是实际安装时可能装在其他的路径下了。解决方法:在storm.yaml中添加:
java.library.path: "/opt/storm/jzmq/lib:/opt/storm/zeromq/lib:/usr/local/lib:/opt/local/lib:/usr/lib"
9. 安装jzmq时遇到No rule to make target `classdist_noinst.stamp'的make错误
具体的make错误信息:make[1]: *** No rule to make target `classdist_noinst.stamp',
needed by `org/zeromq/ZMQ.class'. Stop.
解决方法:手动创建classdist_noinst.stamp空文件。
touch src/classdist_noinst.stamp
10. 安装jzmq时遇到cannot access org.zeromq.ZMQ的make错误
具体的make错误信息:error: cannot access org.zeromq.ZMQ
class file for org.zeromq.ZMQ not found
javadoc: error - Class org.zeromq.ZMQ not found.
解决方法:手动编译,然后重新make即可通过。
cd src
javac -d . org/zeromq/*.java
相关文章推荐
- Storm常见问题及解决方法收集【持续更新中】
- storm常见问题及解决方法收集【持续更新中】
- Storm常见问题及解决方法收集【持续更新中】
- Storm常见问题及解决方法收集
- Storm常见问题及解决方法收集
- 普元EOS开发积累第一篇(常见错误解决方法) 持续更新
- sublime 使用中一些遇到问题解决方法和技巧汇总(持续更新)
- zookeeper各种报错、原因及解决方法汇总(持续更新)
- Hadoop 常见错误解决方法(12-13持续整理更新中)
- 0.Ubuntu下的一些小问题的解决方法(持续更新中)
- 分布式微博爬虫运行中出现的问题及解决方法(持续更新)
- UI控件问题和XCode编译警告和错误解决方法集锦 (持续更新ing)
- linux的oracle错误代码和解决方法总结(持续更新)
- 使用CentOS 遇到的问题以及解决方法(持续更新)
- 常用前端问题解决方法(持续更新中)
- Gradle 导入开源工程 常见问题解决方法(持续更新中)
- JavaEE编程中错误信息解决方法( 持续更新)
- 狂暴的菜鸟之CentOS5.5环境下常见错误信息及解决方法【持续更新中。。。】
- 普元EOS开发积累第二篇(常见错误解决方法) 持续更新
- 【集群管理】可能遇到的问题及解决方法(持续更新中......)