flume 自定义kafka sink运行失败:找不到Callback

官网和github上都提供了source包,借助提供的kafkasink代码,在其中增加分区逻辑,实现flume读取日志并按特定规则输入到kafka的不同分区,maven导出jar包
运行时报如下错误


flume 自定义kafka sink运行失败:找不到Callback_第1张图片
image.png

官网的代码中的确引入了Callback
由于我使用的是flume1.6版本,而官网已经更新至1.7版本,推测是flume版本的问题(flume1.6支持kafka_2.10-0.8.1.1版本,而flume1.7支持kafka_2.10-0.9.0.1版本)
为此特意查看了flume中关于kafka的jar包,发现1.7版本比1.6版本多kafka-clients-0.9.0.1这个jar包,在根据错误提示的路径中找到了Callback类(org/apache/kafka/clients/producer/Callback),将该jar包拖入flume的lib目录下,问题解决。
其实还有疑问,在maven的依赖中引入的是flume1.7版本,编译代码的过程中也不会出现错误,但是导出jar包在flume中运行时就会报错,怀疑可能是maven工程打包的问题,还有待解决。

你可能感兴趣的:(flume 自定义kafka sink运行失败:找不到Callback)