Apache kafka ApacheKafka:BrokerLeader-1(主题由Orion通过Cygnus接收)
我正在与ApacheKafka合作,并通过Cygnus(Fiware实验室)从Orion上下文代理接收主题 我收到10个主题,我可以看到8个主题的数据到达消费者控制台 但对于另外两个主题,我看不到任何数据。并且没有错误代码(消费者只是空的)。如果我试图通过producer控制台向主题添加测试行,则会出现以下错误:Apache kafka ApacheKafka:BrokerLeader-1(主题由Orion通过Cygnus接收),apache-kafka,fiware-orion,fiware-cygnus,Apache Kafka,Fiware Orion,Fiware Cygnus,我正在与ApacheKafka合作,并通过Cygnus(Fiware实验室)从Orion上下文代理接收主题 我收到10个主题,我可以看到8个主题的数据到达消费者控制台 但对于另外两个主题,我看不到任何数据。并且没有错误代码(消费者只是空的)。如果我试图通过producer控制台向主题添加测试行,则会出现以下错误: ERROR Error when sending message to topic sensors_presence2_sensors with key: null, value: 4
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?这个经纪人甚至不存在。我怎样才能改变这一点?我没有为我的主题选择配置,它们是从Cygnus(Orion Context Broker)带着OrionKafkaSink自动到达的
以下是8个主题之一的一个很好的例子:
Topic:sensors_presence1_sensors PartitionCount:1 ReplicationFactor:1 Configs:
Topic:sensors_presence1_sensors Partition: 0 Leader: 0 Replicas: 0 Isr: 0
谢谢
编辑:在天鹅座日志中,显示数据已正确发送到卡夫卡:
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 (...
descripe命令的结果显示副本:2和Isr:(空),这意味着id为2的代理在创建该主题时处于活动状态,而同一个代理(id=2)现在不处于活动状态。因为Isr(同步副本)显示为空 如果只有一个节点(代理id=0)kafka群集,则不可能获得副本:2。组建broker-2,一切都会顺利进行
希望这有帮助 Leader-1表示出了问题。它应该是0或更高。你能试试
/kafka-preferred-replica-election.sh--zookeeper={YOURZK}
?这将尝试在可用代理上重新分配分区。(1在您的案例中)谢谢,我已经尝试过了,但它没有为我的主题重新分配分区……它仍然是leader-1您可能在做什么,但在这两种情况下,ReplicationFactor:1
,因此它不应该尝试使用多个代理。然而,Replicas:2
和Replicas:0
很奇怪。