Apache kafka 卡夫卡消费者未通过远程接收消息

Apache kafka 卡夫卡消费者未通过远程接收消息,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,嗨,我是卡夫卡的新手,我有一个简短的问题 我实现了一个卡夫卡制作人和消费者 zookeeper和producer正在另一台服务器上运行(192.168.10.233) 消费者正在另一台服务器上运行(192.168.10.234) 两者都是本地连接的 问题是 消费者与生产者连接,但不侦听任何消息,但如果我将此侦听部分移动到同一服务器(192.168.10.233),它将接收消息 这是我的消费者代码 def listen(): Unit = { val props = new Propert

嗨,我是卡夫卡的新手,我有一个简短的问题

我实现了一个卡夫卡制作人和消费者 zookeeper和producer正在另一台服务器上运行(192.168.10.233) 消费者正在另一台服务器上运行(192.168.10.234) 两者都是本地连接的

问题是 消费者与生产者连接,但不侦听任何消息,但如果我将此侦听部分移动到同一服务器(192.168.10.233),它将接收消息

这是我的消费者代码

def listen(): Unit = {
    val props = new Properties();
    props.put("bootstrap.servers", "192.168.10.233:9092");
    props.put("group.id", "groupId");
    props.put("enable.auto.commit", "true");
    props.put("auto.commit.interval.ms", "1000");
    props.put("session.timeout.ms", "30000");
    props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
    props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
    val consumer = new KafkaConsumer(props);

    println("calling ---- but yet to receive the message")

    consumer.subscribe(List("test"));
    while (true) {
      val records = consumer.poll(100);
      for (record <- records)
      println("offset = %d, key = %s, value = %s", record.offset(), record.key(), record.value());
    }

  }
def listen():单位={
val props=新属性();
道具放置(“bootstrap.servers”,“192.168.10.233:9092”);
props.put(“group.id”、“groupId”);
props.put(“enable.auto.commit”、“true”);
props.put(“auto.commit.interval.ms”,“1000”);
props.put(“session.timeout.ms”,“30000”);
put(“key.deserializer”、“org.apache.kafka.common.serialization.StringDeserializer”);
put(“value.deserializer”、“org.apache.kafka.common.serialization.StringDeserializer”);
val消费者=新卡夫卡消费者(道具);
println(“呼叫----但尚未收到消息”)
消费者。订阅(列表(“测试”);
while(true){
val记录=消费者投票(100);

对于(record您很可能必须将
kafka/config/server.properties
中的
advised.host.name
设置为可从外部路由的值。

我认为可能存在偏移问题。您可以尝试设置偏移,如:props.put(“auto.offset.reset”,“earlime”);如果有效,您可以调整该值是的,我添加了偏移量,但仍然没有Luckwas您使用的是哪个版本的Apache Kafka?0.9或0.10?您的客户端API应该有相同的版本。@NangSaigon不一定。Kafka向后兼容,新代理可以处理来自旧客户端的消息。但versaI对bothI使用的不是0.10版本添加并重新启动了kafka和zookeeper,但仍然不走运。实际上,它已连接,但未收到任何消息。您找到此问题的解决方案了吗?我面临着相同的问题。我无法从本地开发环境的QA env中从kafka安装程序获取消息。我也面临着相同的问题,我尝试了所有方法gs,但未在远程服务器上运行producer。如果您有解决方案,请向我建议