zoukankan      html  css  js  c++  java
  • kafka基础:解决org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for xxx topic

    https://my.oschina.net/kyle1970/blog/2396318/print

    kafka 0.9.x以后的版本,有一个配置属性叫advertised.listeners,在server.properties中,该属性默认是注释掉的,解释如下:

    #Hostname and port the broker will advertise to producers and consumers. If not set,
    # it uses the value for "listeners" if configured. Otherwise, it will use the value
    # returned from java.net.InetAddress.getCanonicalHostName().
    #advertised.listeners=PLAINTEXT://192.168.14.140:9092

    "PLAINTEXT"表示协议,可选的值有PLAINTEXT和SSL,hostname可以指定IP地址,也可以用"0.0.0.0"表示对所有的网络接口有效,如果hostname为空表示只对默认的网络接口有效

    也就是说如果你没有配置advertised.listeners,就使用listeners的配置通告给消息的生产者和消费者,这个过程是在生产者和消费者获取源数据(metadata)。如果都没配置,那么就使用java.net.InetAddress.getCanonicalHostName()返回的值,对于ipv4,基本就是localhost了

    然后你的生产者就会一直卡死,没有反应,如果添加slf4j 桥接 log4j,将日志级别调到debug,发现如下的日志输出

    Updated cluster metadata version 2 to Cluster(nodes = [Node(0, 127.0.0.1, 9092)], partitions = [])
    [cas-client-proxy] TRACE [main] org.apache.kafka.clients.producer.KafkaProducer.waitOnMetadata(374) | Requesting metadata update for topic topic_9527.

    可以看到客户端连接127.0.0.1:9092而不是你期望的服务器的地址!!!
    如果按照0.8.x配置host.name和port属性,会报如下问题

    org.apache.kafka.clients.producer.KafkaProducer.send(348) | Exception occurred during message send:
    org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

    本文地址:https://my.oschina.net/kyle1970/blog/2396318

    原文地址:http://www.javacoder.cn/?p=849

    解决方法为:
    
    将
    
    advertised.listeners=PLAINTEXT://your.host.name:9092
    
    改为
    
    advertised.listeners=PLAINTEXT://192.168.1.122:9092

    192.168.1.122是kafka服务器的ip地址

  • 相关阅读:
    win32_弹弹球游戏
    蓝桥杯评测_前n项和
    算法_fibonacci_递归求值
    PTA 分类
    _tmain() 和 main()
    VS2010 C++ 插件 VissualAssistX 安装
    vs2010 > LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    int、long、long long 的取值范围
    B树 B-树 B+树 B*树
    PTA 5-10 公路村村通 (30)
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/13455362.html
Copyright © 2011-2022 走看看