Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 带有Flume的卡夫卡消息中出现意外字符_Apache Kafka_Cloudera_Kafka Consumer Api_Flume_Flume Ng - Fatal编程技术网

Apache kafka 带有Flume的卡夫卡消息中出现意外字符

Apache kafka 带有Flume的卡夫卡消息中出现意外字符,apache-kafka,cloudera,kafka-consumer-api,flume,flume-ng,Apache Kafka,Cloudera,Kafka Consumer Api,Flume,Flume Ng,我有一个使用Flume和Kafka的摄取管道,使用CSV文件,在Flume拦截器中转换JSON中的事件,并在Kafka中推送它 当我在发送到Kafka之前记录消息时,它是一个正常、有效的JSON。但是当使用来自Kafka的相同消息时,我在尝试序列化它时出错,说它不是有效的JSON 事实上,在我的信息开头,我有一些无法识别的字符: e、 g。� 我认为它代表了flume在发布到Kafka时试图在事件中使用的空标题。但我似乎无法阻止这一切的发生 有人知道如何从正在发送的Flume事件中完全删除头,或

我有一个使用Flume和Kafka的摄取管道,使用CSV文件,在Flume拦截器中转换JSON中的事件,并在Kafka中推送它

当我在发送到Kafka之前记录消息时,它是一个正常、有效的JSON。但是当使用来自Kafka的相同消息时,我在尝试序列化它时出错,说它不是有效的JSON

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

e、 g。�

我认为它代表了flume在发布到Kafka时试图在事件中使用的空标题。但我似乎无法阻止这一切的发生


有人知道如何从正在发送的Flume事件中完全删除头,或者更准确地说,删除那些字符吗?

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


应该是你的朋友。

一开始我也这么认为,但我检查了三次,所有东西都是UTF-8编码的。我做了一些测试,这真的是flume在卡夫卡频道上发布事件时添加的一个字符……这真是太遗憾了。您是否尝试过引入链接文章中提到的另一个值序列化程序?你能发布生产者配置吗?还有,你用的是哪个卡夫卡版本?你解决了这个问题吗?我现在面临着同样的问题