Storm常见问题及解决方案总结

Storm 是一个开源的、大数据处理系统,与其他大数据解决方案的不同之处在于它的处理方式。Hadoop 在本质上是一个批处理系统。数据被引入 Hadoop 文件系统 (HDFS) 并分发到各个节点进行处理。当处理完成时,结果数据返回到 HDFS 供始发者使用。Storm 支持创建拓扑结构来转换没有终点的数据流。不同于 Hadoop 作业,这些转换从不停止,它们会持续处理到达的数据。


1、storm集群配置JDK环境变量问题

问题分析:在linux系统下配置JDK后一般修改/etc/profile值进行环境变量配置,但是安装storm集群时会出现问题

问题解决:需要在/etc/.bashrc文件中也加入环境变量不然安装的JDK无法使用。


2、supervisor相关问题

1)安装后supervisor名称相同并且启动报错问题

问题分析:supervisor.cji中有行代码如下:

1
<br>

此代码是在启动supervisor时会找本机的hostname。

问题解决:修改每天机器的hostname与其相对应即可。


2)启动Supervisor 时,出现java.lang.UnsatisfiedLinkError异常

具体错误信息如下:

1
2
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


3、发布topologies时,序列化log4j.Logger异常

问题分析:日志系统无法正确正确处理序列化操作

问题解决:使用slf4j替换log4j日志jar包处理


4、提交topology时出现如下异常:

1
2
3
4
5
6
Exception  in  thread  "main"  java.lang.IllegalArgumentException: xxx host is not  set 
         at backtype.storm.utils.NimbusClient.<init>(NimbusClient.java:30) 
         at backtype.storm.utils.NimbusClient.getConfiguredClient(NimbusClient.java:17) 
         at backtype.storm.StormSubmitter.submitJar(StormSubmitter.java:78) 
         at backtype.storm.StormSubmitter.submitJar(StormSubmitter.java:71) 
         at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:50)

问题分析:启动nimbus没有问题,异常原因是conf_dir路径设置错误

问题解决:修改bin/storm脚本,增加如下代码:

1
CONF_DIR = STORM_DIR +  "/conf"


5、在使用storm0.7一下版本时,时间长会出现outofmenmory

问题分析:低于storm0.7版本的没触发一个tuple会创建一个hashmap存储该tuple所在的消息树结构,长时间会给gc造成巨大的压力导致出现outofmemory

问题解决:升级storm版本即可解决问题。


6、storm连接mysql数据库报异常

连接远程mysql数据库时报如下错误:

1
message from server: "Host FILTER"  is not allowed to connect to this MySQL server

问题分析:可能是没有给其IP访问Mysql数据库权限导致

问题解决:登录mysql数据库,执行如下命令:

1
grant all on *.* to root@ '%'  identified by  "123456" ;

此操作是给任意IP地址赋予访问权限(命令中*.*是通配任何IP,可指定IP 用户名:root 密码:123456)


来源:http://blog.yoodb.com/yoodb/article/detail/320


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值