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

官网和github上都提供了源码,借助提供的kafkasink代码,在其中增加分区逻辑,实现flume读取日志并按特定规则输入到kafka的不同分区,maven导出jar包
运行时报如下错误
flume 自定义kafka sink运行失败:找不到Callback_第1张图片
官网的代码中的确引入了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打包时,将依赖一起打包应该不会出现这种问题。

你可能感兴趣的:(kafka)