storm整合kafka和hbase
查看maven dependencies,看项目引用日志jar如下:
log4j-1.2.17.jar
logback-classic-1.0.6.jar
logback-core-1.0.6.jar
slf4j-api-1.7.5.jar
错误定位:在topology中添加HbaseBolt时报错,经过查找发现
HbaseBolt中引用了未序列化的类
解决方案:该类实现java.io.Serializable接口
运行,发现仍然报错,继续查看,发现实例化了一个logger对象,代码如下:
private Logger logger =
Logger.getLogger(HbaseUtils.class)
这里就要分析一下错误原因了,未序列化的对象要在序列化类中存储就会报这个错
解决方案:
private static final Logger logger =
Logger.getLogger(HbaseUtils.class)
或者使用slf4j的Logger
private final Logger LOG = LoggerFactory.getLogger(HbaseCommon.class);