2017-09-14 49 views
0

我有一个使用Flume的摄入管道& Kafka,使用CSV文件,在Flume Interceptor中将事件转换为JSON并在Kafka中推送它。带有Flume的卡夫卡消息中的意外字符

当我在发送给Kafka之前记录消息时,这是一个正常的,有效的JSON。但是,当从Kafka消费相同的消息时,我在尝试序列化它时收到错误,并说它不是有效的JSON。

事实上,我有无法识别的字符在我的消息的开头:

例如

我认为它代表水槽试图在张贴到卡夫卡时遇到的空头。但我似乎无法防止这种情况发生。

有谁知道如何完全删除正在发送的Flume事件的标题,或者更准确地说,删除那些字符?

回答

1

看起来像一个基本的字符编码问题,就像kafka在Linux上运行而生产者在Windows机器上运行一样。您可能需要三重检查所有机器是否处理utf-8编码的消息。

this post应该是你的朋友。

+1

我一开始也想过,但我三重检查,一切都是UTF-8编码。我做了一些测试,这真的是一个字符在将事件发布到kafka频道时被添加的字符... –

+0

那真可惜。您是否试图引入链接文章中提到的(其他)值序列化程序?你可以发布生产者配置吗?另外,你使用哪个kafka版本? – Nikolas