storm java.lang.RuntimeException: java.io.NotSerializableException: 异常
来源:互联网 发布:手机桌面视频软件 编辑:程序博客网 时间:2024/05/21 06:16
http://blog.csdn.net/wanghai__/article/details/8997895
最近在做实时数据分析,使用到了twitter开源的storm,在初始化的时候报了一个序列化的错:报错信息很明显,因为DateTimeFormatter不支持序列化。但是我只是在bolt里使用到了这个时间类,不至于在初始化的时候就报错啊?
Exception in thread "main" java.lang.RuntimeException: java.io.NotSerializableException: java.lang.Object at backtype.storm.utils.Utils.javaSerialize(Utils.java:103) at backtype.storm.topology.TopologyBuilder.createTopology(TopologyBuilder.java:107) at ImportData.main(ImportData.java:89)
上网搜了下原因,是因为storm工作机制的问题。在你启动一个topology以后,supervisor会初始化这个bolt,并发送到worker,然后再调用bolt的prepare()方法。OK,从这里就能看出来发送到bolt这一步涉及到了序列化,因此会报错。
解决的办法就是,从supervisor发送到bolt这一步并不是初始化DateTimeFormatter类,可以先声明相关的对象,然后等发送到worker了以后,在bolt的prepare()里进行实例化,就可以避免此问题。下面是google来的一段话:
阅读全文
0 0
- storm java.lang.RuntimeException: java.io.NotSerializableException: 异常
- storm中使用log出现java.lang.RuntimeException: java.io.NotSerializableException: java.util.logging.Logger
- Storm初始化报错java.io.NotSerializableException
- storm NotSerializableException: java.io.BufferedWriter解决
- EJB java.io.NotSerializableException 异常解决方法
- android java.io.NotSerializableException序列化异常
- SPARK java.io.NotSerializableException 异常处理
- log4j java.io.NotSerializableException 异常的解决
- storm supervisor启动报错java.lang.RuntimeException: java.io.EOFException
- java.io.NotSerializableException翻译
- java.io.NotSerializableException 解决办法
- java.io.NotSerializableException
- java.io.NotSerializableException
- java.io.NotSerializableException.
- java.io.NotSerializableException
- java.io.NotSerializableException
- java.io.NotSerializableException
- spark<java.io.NotSerializableException>
- fig13_03.cpp
- PE文件格式详解(手工实现一个可执行文件)
- xilinx SDK 更改堆栈大小的方法与位置
- TypeScript入门02
- 机器学习实战决策树plotTree函数完全解析
- storm java.lang.RuntimeException: java.io.NotSerializableException: 异常
- JAVA基础
- Jenkins+Gradle 实现android端app自动构建
- fastjson数据格式转换(一) SerializerFeature属性详解
- 第七章 食物数据库例子
- PMP考试【8】--合同类型
- 推送通知策略分析
- 获取随机数组
- tensorflow-session的使用