Apache kafka : broker leader -1 (topic received from Orion via Cygnus)

Apache kafka : broker leader -1 (topic received from Orion via Cygnus)

我正在使用 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 个 broker(0) 并且没有分区。但是为什么我的 leader -1 呢?这个经纪人甚至不存在。我怎样才能改变它?我没有为我的主题选择配置,它们使用 OrionKafkaSink 从 Cygnus(Orion 上下文代理)自动到达。

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 (...

describe 命令的结果显示 Replicas:2 和 Isr:(空),这意味着 id 为 2 的代理在创建该主题时处于活动状态,而同一代理 (id=2) 未处于活动状态现在激活。因为 Isr(In sync replicas)显示为空。

当你只有一个节点(broker-id=0)kafka集群时,没有机会获得Replicas: 2。让 broker-2 启动,一切都会正常运行。

希望对您有所帮助!