• kafka(java客户端)消费者取不到消息,生产者消息也没发送成功


    通过命令行工具(kafka-console-producer.sh和kafka-console-consumer.sh)是能够相互通信的,producer发布的信息consumer能够接收到。
    但是
    java通过kafka-client的API写的代码始终不能跟kafka通信:java producer的消息发不出去, java comsumer也收不到任何消息。
    仔细检查了下代码中IP、端口都没有写错。

    解决办法
    将kafka/config/server.properties文件中advertised.listeners改为如下属性。192.168.43.131是我虚拟机的IP。改完后重启,OK了。Java端的代码终于能通信了
    advertised.listeners上的注释是这样的:

    #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().
    意思就是说:hostname、port都会广播给producer、consumer。如果你没有配置了这个属性的话,则使用listeners的值,如果listeners的值也没有配置的话,则使用
    java.net.InetAddress.getCanonicalHostName()返回值(这里也就是返回localhost了).

  • 相关阅读:
    分类模型之支持向量机
    数据预处理
    数据挖掘基本流程
    【项目】项目95
    【项目】项目94
    【项目】项目93
    【项目】项目92
    【项目】项目91
    【项目】项目90
    【项目】项目89
  • 原文地址:https://www.cnblogs.com/huifeidezhuzai/p/15954247.html
Copyright © 2020-2023  润新知