【发布时间】:2016-10-08 20:20:16
【问题描述】:
有什么办法解决这个问题???我无法阅读 KAFKA-AVRO Schema 消息。我正在尝试将消息从 logstash 发送到 KAFKA 到 HDFS。
以下是技术栈:
- Logstash 2.3 - 当前生产版本
- 融合 3.0。
- 插件: 一种。 Logstash-kafka-输出插件 湾。 Logstash-编解码器-avro。
- 动物园管理员:3.4.6
- 卡夫卡:0.10.0.0
Logstash 配置文件如下所示:
input {
stdin{}
}
filter {
mutate {
remove_field => ["@timestamp","@version"]
}
}
output {
kafka {
topic_id => 'logstash_logs14'
codec => avro {
schema_uri => "/opt/logstash/bin/schema.avsc"
}
}
}
schema.avsc 文件如下所示:
{
"type":"record",
"name":"myrecord",
"fields":[
{"name":"message","type":"string"},
{"name":"host","type":"string"}
]
}
运行了以下命令:
-
在自己的终端中启动 Zookeeper
./bin/zookeeper-server-start ./etc/kafka/zookeeper.properties
2 在自己的终端启动Kafka
./bin/kafka-server-start ./etc/kafka/server.properties
3 在自己的终端中启动模式注册表
./bin/schema-registry-start ./etc/schema-registry/schema-registry.properties
4 从logstash目录,运行以下命令
bin/logstash -f ./bin/logstash.conf
5 输入您希望在运行上述命令后发送到 kafka 的日志消息 例如:“你好世界”
6 从 Kafka 消费主题
./bin/kafka-avro-console-consumer --zookeeper localhost:2181 --topic logstash_logs14 --from-beginning
_While consuming we get the following error:_
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/confluent-3.0.0/share/java/kafka-serde-tools/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/root/confluent-3.0.0/share/java/confluent-common/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/root/confluent-3.0.0/share/java/schema-registry/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Processed a total of 1 messages
[2016-06-08 18:42:41,627] ERROR Unknown error when running consumer: (kafka.tools.ConsoleConsumer$:103)
org.apache.kafka.common.errors.SerializationException: Error deserializing Avro message for id -1
Caused by: org.apache.kafka.common.errors.SerializationException: Unknown magic byte!
[2016-06-08 18:42:41,627] ERROR Unknown error when running consumer: (kafka.tools.ConsoleConsumer$:103)
org.apache.kafka.common.errors.SerializationException: Error deserializing Avro message for id -1
Caused by: org.apache.kafka.common.errors.SerializationException: Unknown magic byte!
请告诉我如何解决这个问题
谢谢, 乌彭德拉
【问题讨论】:
标签: logstash apache-kafka avro