【发布时间】:2016-03-03 00:06:22
【问题描述】:
我正在使用 Apache Kafka 并通过 Cygnus(Fiware Labs)从 Orion Context Broker 接收主题
我收到了 10 个主题,我可以看到到达消费者控制台的 8 个主题的数据。
但对于其他 2 个主题,我看不到任何数据到达。并且没有错误代码(消费者只是空的)。如果我尝试通过生产者控制台向主题添加测试行,则会收到此错误:
ERROR Error when sending message to topic sensors_presence2_sensors with key: null, value: 4 bytes with error: Batch Expired (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
所以我使用了 describe 命令,我得到了这个:
Topic:sensors_presence2_sensors PartitionCount:1 ReplicationFactor:1 Configs:
Topic: sensors_presence2_sensors Partition: 0 Leader: -1 Replicas: 2 Isr:
我刚开始使用 Kafka,所以目前我有 1 个代理(0)并且没有分区。但是为什么我的领导者是 -1 ?这个经纪人甚至不存在。我该如何改变呢?我没有为我的主题选择配置,它们使用 OrionKafkaSink 从 Cygnus(Orion Context Broker)自动到达。
8 个主题之一的示例:
Topic:sensors_presence1_sensors PartitionCount:1 ReplicationFactor:1 Configs:
Topic:sensors_presence1_sensors Partition: 0 Leader: 0 Replicas: 0 Isr: 0
谢谢
编辑:在 Cygnus 日志中,显示数据已正确发送到 kafka:
time=2016-03-02T11:07:09.504UTC | lvl=INFO | trans=1456915468-194-0000000039 | srv=egmmqtt | subsrv=egmmqttpath | function=persistAggregation | comp=Cygnus | msg=com.telefonica.iot.cygnus.sinks.OrionKafkaSink[279] : [kafka-sink] Persisting data at OrionKafkaSink. Topic (sensors_presence2_sensors), Data (...
【问题讨论】:
-
Leader -1 表示有问题。它应该是 0 或更高。
-
你能试试
./kafka-preferred-replica-election.sh --zookeeper={YOURZK}吗?这将尝试重新分配可用代理的分区。 (在你的情况下是 1 个) -
谢谢,我已经尝试过了,它没有为我的主题重新分配分区...它仍然是领导者-1
标签: apache-kafka fiware-orion fiware-cygnus