【问题标题】:Kafka Admin Client giving Timeout Error for ListTopicKafka Admin Client 为 ListTopic 提供超时错误
【发布时间】:2022-04-25 02:12:03
【问题描述】:

您好,我正在尝试运行此代码 但它在另一个 EC2 Azkaban 实例中运行良好,但在另一个实例中没有给出以下错误。

private val adminprops = new Properties() 
adminprops.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG,"Kafka Endpoint")
private val admin = AdminClient.create(adminprops)

def topicExist(topicName: String): Boolean = {
 val result = admin.listTopics.names.get.contains(topicName)
 result
}

“卡夫卡异常java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException:等待节点超时 任务。调用:listTopics"

【问题讨论】:

    标签: scala apache-kafka azkaban


    【解决方案1】:

    网络问题或设置问题。

    1. 确保“bootstrap.servers”正确,正确的主机和端口。
    2. 确保客户端和代理服务器之间的网络正常。

    adminClient 的默认超时时间为 120000 毫秒(AdminClientConfig.REQUEST_TIMEOUT_MS_CONFIG)。通常,列表主题会立即返回。

    【讨论】:

    • 网络有时会出现此错误,有时不会。那么有什么解决办法吗
    • Kafka的瓶颈经常出现在磁盘容量和带宽上。我建议你先检查一下带宽使用率是否一直很高,如果是,请检查生产者是否打开了消息压缩,这将大大降低带宽使用率。
    • 不管是什么原因造成的网络问题,看你使用的场景,有一些解决方案的例子: 方法一:这里可以减少请求超时,比如2s,和捕获超时异常以识别网络问题,稍后再试。方法二:定期获取主题列表,允许短期数据不一致。拿到题目后,使用缓存方法三:自己直接查询kafka的zookeeper,如果没有办法。 Kafka 将其元数据保存在 zookeeper 中。建议您先定位并解决网络问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 2013-07-16
    • 1970-01-01
    相关资源
    最近更新 更多