【storm kafka】RROR fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host

错误信息如下:

3864318 96724 141 92 0 2014-09-13

7529584 79828 729 31 0 2014-09-13

9052481 95904 236 19 1 2014-09-13

4498600 37499 515 64 0 2014-09-13

1684086 71814 646 8 -1 2014-09-13

9246161 7491 1088 0 1 2014-09-13

4845436 96147 930 40 1 2014-09-13

8226377 78643 560 4 -1 2014-09-13

9758545 90410 173 96 1 2014-09-13

771673 80504 475 50 -1 2014-09-13

[2015-04-20 16:13:55,079] ERROR fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed (kafka.utils.Utils$:106)

kafka.common.KafkaException: fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:72)

at kafka.producer.BrokerPartitionInfo.updateInfo(BrokerPartitionInfo.scala:82)

at kafka.producer.async.DefaultEventHandler$$anonfun$handle$1.apply$mcV$sp(DefaultEventHandler.scala:67)

at kafka.utils.Utils$.swallow(Utils.scala:172)

at kafka.utils.Logging$class.swallowError(Logging.scala:106)

at kafka.utils.Utils$.swallowError(Utils.scala:45)

at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:67)

at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:105)

at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:94)

at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:45)

Caused by: java.nio.channels.ClosedChannelException

at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)

at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:73)

at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:72)

at kafka.producer.SyncProducer.send(SyncProducer.scala:113)

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:58)

... 9 more

[2015-04-20 16:13:55,091] ERROR Failed to collate messages by topic, partition due to: fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed (kafka.producer.async.DefaultEventHandler:97)

[2015-04-20 16:13:55,202] ERROR fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed (kafka.utils.Utils$:106)

kafka.common.KafkaException: fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:72)

at kafka.producer.BrokerPartitionInfo.updateInfo(BrokerPartitionInfo.scala:82)

at kafka.producer.async.DefaultEventHandler$$anonfun$handle$2.apply$mcV$sp(DefaultEventHandler.scala:78)

at kafka.utils.Utils$.swallow(Utils.scala:172)

at kafka.utils.Logging$class.swallowError(Logging.scala:106)

at kafka.utils.Utils$.swallowError(Utils.scala:45)

at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:78)

at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:105)

at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:94)

at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:45)

Caused by: java.nio.channels.ClosedChannelException

at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)

at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:73)

at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:72)

at kafka.producer.SyncProducer.send(SyncProducer.scala:113)

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:58)

... 9 more

[2015-04-20 16:13:55,205] ERROR Failed to collate messages by topic, partition due to: fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed (kafka.producer.async.DefaultEventHandler:97)

[2015-04-20 16:13:55,307] ERROR fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed (kafka.utils.Utils$:106)

kafka.common.KafkaException: fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:72)

at kafka.producer.BrokerPartitionInfo.updateInfo(BrokerPartitionInfo.scala:82)

at kafka.producer.async.DefaultEventHandler$$anonfun$handle$2.apply$mcV$sp(DefaultEventHandler.scala:78)

at kafka.utils.Utils$.swallow(Utils.scala:172)

at kafka.utils.Logging$class.swallowError(Logging.scala:106)

at kafka.utils.Utils$.swallowError(Utils.scala:45)

at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:78)

at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:105)

at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:94)

at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:45)

Caused by: java.nio.channels.ClosedChannelException

at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)

at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:73)

at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:72)

at kafka.producer.SyncProducer.send(SyncProducer.scala:113)

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:58)

... 9 more

[2015-04-20 16:13:55,309] ERROR Failed to collate messages by topic, partition due to: fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed (kafka.producer.async.DefaultEventHandler:97)

[2015-04-20 16:13:55,414] ERROR fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed (kafka.utils.Utils$:106)

kafka.common.KafkaException: fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:72)

at kafka.producer.BrokerPartitionInfo.updateInfo(BrokerPartitionInfo.scala:82)

at kafka.producer.async.DefaultEventHandler$$anonfun$handle$2.apply$mcV$sp(DefaultEventHandler.scala:78)

at kafka.utils.Utils$.swallow(Utils.scala:172)

at kafka.utils.Logging$class.swallowError(Logging.scala:106)

at kafka.utils.Utils$.swallowError(Utils.scala:45)

at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:78)

at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:105)

at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:94)

at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:45)

Caused by: java.nio.channels.ClosedChannelException

at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)

at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:73)

at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:72)

at kafka.producer.SyncProducer.send(SyncProducer.scala:113)

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:58)

... 9 more

[2015-04-20 16:13:55,416] ERROR Failed to collate messages by topic, partition due to: fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed (kafka.producer.async.DefaultEventHandler:97)

[2015-04-20 16:13:55,522] ERROR fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed (kafka.utils.Utils$:106)

kafka.common.KafkaException: fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host:storm1,port:9092)] failed

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:72)

at kafka.producer.BrokerPartitionInfo.updateInfo(BrokerPartitionInfo.scala:82)

at kafka.producer.async.DefaultEventHandler$$anonfun$handle$2.apply$mcV$sp(DefaultEventHandler.scala:78)

at kafka.utils.Utils$.swallow(Utils.scala:172)

at kafka.utils.Logging$class.swallowError(Logging.scala:106)

at kafka.utils.Utils$.swallowError(Utils.scala:45)

at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:78)

at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:105)

at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:94)

at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:45)

Caused by: java.nio.channels.ClosedChannelException

at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)

at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:73)

at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:72)

at kafka.producer.SyncProducer.send(SyncProducer.scala:113)

at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:58)

... 9 more

[2015-04-20 16:13:55,526] ERROR Failed to send requests for topics order with correlation ids in [0,8] (kafka.producer.async.DefaultEventHandler:97)

[2015-04-20 16:13:55,527] ERROR Error in handling batch of 10 events (kafka.producer.async.ProducerSendThread:103)

kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.

at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90)

at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:105)

at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:94)

at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:45)


如果使用Mac或windows开发测试kafka发送数据时,会有这个错误,原因是在Send message之前需要填写ProducerConfig,但是config中的内容需要使用服务器的hostName,为了使开发环境识别hostName,需要修改本机的hosts文件。

对于Mac下的hosts文件修改方法如下:

http://blog.csdn.net/seven_zhao/article/details/45151597
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: org.apache.kafka.common.errors.timeoutexception: 在获取主题元数据时超时已过期。 这个错误通常是由于Kafka客户端无法在规定的时间内获取到主题的元数据信息,导致超时。可能的原因包括网络延迟、Kafka服务器负载过高等。建议检查网络连接和Kafka服务器的负载情况,并尝试增加Kafka客户端的超时时间。 ### 回答2: 该错误码通常表示Kafka客户端在尝试获取Topci元数据时出现了超时。 Topic元数据是有关Kafka Topic及其分区的基本信息, 包括该Topic的存储位置、副本数等。 在Kafka中,每个Partition都有一个Broker在其中运行,客户端必须获取Broker的地址并向其发送数据和接收数据。 当Kafka客户端与Broker通信时, 发生网络问题可能导致请求超时, 经过一段时间后, Kafka客户端会超时并抛出 org.apache.kafka.common.errors.timeoutexception 错误代码。 这时客户端应该重试,或者检查网络和Kafka集群的状态。 此外,如果集群处于负载的状态, 即在高峰时间段,Broker处理请求的速度会变慢, 客户端请求的响应时间会相应变长, 可能也会导致超时异常被抛出。 如果只有某些应用出现此错误, 有可能是这些应用调用了字节码操作(Bytecode Operation),这种操作通常是在运行时对Class文件进行修改, 该操作可能导致一些Kafka配置文件加载错误,从而导致客户端无法获取Topic元数据。 总之, 对于该错误码的处理方式, 应该首先检查网络状况和Kafka集群的负载情况,如果这些条件确实正常, 则进一步检查应用程序中是否调用了字节码操作或其他可能导致常规Kafka操作失效的特殊程序。 一般地,此类错误可以通过增加超时时间以及增加Kafka客户端的重试次数来解决。 ### 回答3: 这个错误信息指的是 Kafka 在获取主题相关元数据时超时了。元数据是 Kafka 集群用来追踪主题和分区状态的信息,包括主题名称、分区副本数量、分区分配情况等。当 Kafka 客户端想要对一个特定的主题进行订阅或者发送消息时,它需要获取这些元数据,然后才能进行后续操作。 在获取元数据时,Kafka 客户端会向集群中的一个或多个 Broker 发送 Metadata Request 请求。这些请求会在 Broker 之间进行协作,以确定集群中的主题、分区和副本情况。如果在预定的时间内(默认值为 30 秒)无法得到响应,Kafka 就会抛出 TimeoutException 异常,此时可能会出现上述错误信息。 这种情况可能会发生在以下几种情况下: 1. Kafka 集群或 Broker 故障。如果集群或 Broker 处于不可用状态,那么客户端请求必然得不到响应。 2. 网络故障。如果客户端与集群之间的网络连接出现问题,比如网络延迟、丢包或者网络中断等,那么客户端请求也可能会超时。 3. 配置不合理。如果 Kafka 客户端的配置不合理,比如请求超时时间过短、同时发出的请求过多等,那么也可能会导致元数据获取失败。 为了解决这个问题,可以尝试以下几种方法: 1. 检查 Kafka 集群的状态,确保所有的 Broker 都处于正常状态。 2. 检查与集群通信的网络状态,确保网络连接正常。 3. 调整 Kafka 客户端的配置,尝试增加请求超时时间或者减少同时发出的请求数量等。 4. 如果以上方法都无效,可以尝试升级 Kafka 版本或者重启集群。 总之,如果遇到这个问题,需要进行仔细排查,从可能的原因中逐一排除,一步步缩小问题的范围,最终找到解决方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值