Kafka的Producer以及Consumer远程调用问题
公司需要分布式的JMS,所以研究了Kafka,之前在本地都没有出现问题,但是在服务器上布Kafka的时候发现了消费者无法消费的问题。
kafka布到一台服务器上面,由于业务原因,producer和kafka放到一台服务器上面,所以producer发送消息的时候bootrstrap.servers只要配置localhost:port就可以了,但是consumer是在另一台服务器上面,修改了bootstrap.servers为kafka服务器的ip和端口发现还是无法消费。
出现问题1:kakfa的consumer不报错,但是无法消费。
解决问题1:在broker配置中加入如下配置
advertised.host.name=xxx.xx.xx.xx
advertised.listeners=PLAINTEXT://xxx.xx.xx.xx:port
配置完了之后发现还是无法消费。
出现问题2:no route to host
解决问题2:管理kakfa的zookeeper端口号未暴露在外网,将zookeeper的端口设置成外网可以访问。(具体方法百度,楼主也是百度的,linux不太熟练)
配置完了之后发现还是无法消费,我去了。
出现问题3:no route to host
解决问题3:发现了kafka的端口也需要暴露给consumer,我疏忽了,和问题2同样的方法暴露端口。
配置完了之后发现还是无法消费,我已经崩溃了。
出现问题4:MDGG,没有报错,什么错都没有。
解决问题4:哈哈哈,楼主将consumer配置中的group.id换了一个就可以啦。
终于可以消费了......
总结:
1.注意服务器的对外访问的端口是不是可用。
2.修改broker配置加入advertised等配置信息。
3.记得修改一下consumer消费者组,如果修改组不行,那么先删除zookeeper的kafka消息记录,然后再还consumer组试试。
楼主分析修改消费者组就能消费的原因可能是,未修改之前,zookeeper默认还是记得这个消费者组消费的是之前的kafka里面的数据,但是之前的kakfa是本地,所以这个消费者组没有被纠正或者告知你要访问新的kafka服务器,所以在修改为新的消费者组的时候,zookeeper重新记录的消费者的信息,就可以消费新服务器的消息了。
Kafka的Producer以及Consumer远程调用问题的更多相关文章
- Kafka客户端Producer与Consumer
Kafka客户端Producer与Consumer 一.pom.xml 二.相关配置文件 producer.properties log4j.properties base.properties 三. ...
- Kafka的Producer和Consumer源码学习
先解释下两个概念: high watermark (HW) 它表示已经被commited的最后一个message offset(所谓commited, 应该是ISR中所有replica都已写入),HW ...
- SpringBoot整合kafka(实现producer和consumer)
本文代码使用的是Spring Boot 2.1.8.RELEASE 版本 <parent> <groupId>org.springframework.boot</grou ...
- Apache Kafka - KIP-42: Add Producer and Consumer Interceptors
kafka 0.10.0.0 released Interceptors的概念应该来自flume 参考,http://blog.csdn.net/xiao_jun_0820/article/det ...
- 如何创建Kafka客户端:Avro Producer和Consumer Client
1.目标 - Kafka客户端 在本文的Kafka客户端中,我们将学习如何使用Kafka API 创建Apache Kafka客户端.有几种方法可以创建Kafka客户端,例如最多一次,至少一次,以及一 ...
- springboot kafka集成(实现producer和consumer)
本文介绍如何在springboot项目中集成kafka收发message. 1.先解决依赖 springboot相关的依赖我们就不提了,和kafka相关的只依赖一个spring-kafka集成包 &l ...
- 详解RPC远程调用和消息队列MQ的区别
PC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制. RPC框架 知名度较高的有Thrift(FB的).dubbo(阿里的). RP ...
- Kafka学习-Producer和Customer
在上一篇kafka入门的基础之上,本篇主要介绍Kafka的生产者和消费者. Kafka 生产者 kafka Producer发布消息记录到Kakfa集群.生产者是线程安全的,可以在多个线程之间共享生产 ...
- Kafka: Producer (0.10.0.0)
转自:http://www.cnblogs.com/f1194361820/p/6048429.html 通过前面的架构简述,知道了Producer是用来产生消息记录,并将消息以异步的方式发送给指定的 ...
随机推荐
- C++ Primer 学习笔记_77_模板与泛型编程 --实例化
模板与泛型编程 --实例化 引言: 模板是一个蓝图,它本身不是类或函数.编译器使用模板产生指定的类或函数的特定版本号.产生模板的特定类型实例的过程称为实例化. 模板在使用时将进行实例化,类模板在引用实 ...
- nyist 82迷宫寻宝(一)(BFS)
题目连接:http://acm.nyist.net/JudgeOnline/problem.php?pid=82 此题在基础BFS上加入了门和钥匙,要找齐所有钥匙才能开门,所以要对门特殊处理. 1.先 ...
- C++内存分配的五种方法
在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区.里面的变量通常是局部变量.函数参数 ...
- 基于注解的Spring MVC
1.加入�jar 2.web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app v ...
- OpenWrt sscanf问题之于MT7620N与AR9341
在MT7620N平台做好了wifidog的相关调试工作,除了eth驱动.wireless性能问题,其余的都能够基本正常. 依据实际须要要对已完毕的工作在AR9341平台上实现. 事实上也简单.基本功能 ...
- Centos7安装Oracle JDK
查看Linux是否自带的JDK,如有openJDK,则卸载 java -version
- asp.net操作xml(增删查改)
asp.net操作xml 1.xml文档Products.xml <?xml version="1.0" encoding="utf-8"?> &l ...
- PHP 日期格式化 参数参考
a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足二位则前面补零; 如: ...
- 什么是MemCache
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调用到内 ...
- MFC的初始化过程和消息映射技术
1.删除#include <windows.h>--win32中的-(使用win32工程编程mfc必须删除) 添加#include <afxwin.h> -- mfc中的- 2 ...