我正在与apachekafka合作,并通过cygnus(fiware实验室)接收来自orion上下文代理的主题
我收到了10个主题,我可以看到8个主题的数据到达消费者控制台。
但对于另外两个主题,我看不到任何数据到达。并且没有错误代码(消费者只是空的)。如果尝试通过producer控制台向主题添加测试行,则会出现以下错误:
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)
所以我使用了descripe命令,得到了这个:
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上下文代理)自动到达的。
以下是8个主题之一的一个很好的例子:
Topic:sensors_presence1_sensors PartitionCount:1 ReplicationFactor:1 Configs:
Topic:sensors_presence1_sensors Partition: 0 Leader: 0 Replicas: 0 Isr: 0
谢谢
编辑:在天鹅座日志中,它显示数据被正确地发送到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 (...
1条答案
按热度按时间8tntrjer1#
显示describe命令的结果replicas:2 and isr:(空)这意味着id为2的代理在创建该主题时处于活动状态,而同一个代理(id=2)现在不处于活动状态。因为isr(同步副本)显示为空。
如果只有一个节点(代理id=0)kafka群集,则不可能获得副本:2。把broker-2编好,一切都会好的。
希望这有帮助!