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是用来产生消息记录,并将消息以异步的方式发送给指定的 ...
随机推荐
- UVA 10400 Game Show Math (dfs + 记忆化搜索)
Problem H Game Show Math Input: standard input Output: standard output Time Limit: 15 seconds A game ...
- Linux基本操作 1-----命令行BASH的基本操作
1 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令.操作传递给操作系统底层 shell 分为两种 CUI : Command Line Interface Lin ...
- 菜鸟学EJB(二)——在同一个SessionBean中使用@Remote和@Local
不废话.直接进入正题: 在Jboss4及曾经的版本号中,例如以下代码能够成功部署: package com.tjb.ejb; import javax.ejb.Local; import javax. ...
- samba常用命令
1.# smbstatusSamba version 3.6.23PID Username Group Machine ---------------------------------------- ...
- avalon学习笔记一 列表及条件过滤
好长时间都没有更新博客了,不是因为没有学习新的东西,而是到了新的单位每天玩命加班实在是太累了!经过一年的努力吧,终于可以轻松一下了.废话少说,直接干货吧! 由于是学习阶段,就直接拿了公司的二级页面做了 ...
- Parser Error Message: Access is denied【转】
PRB: Access Denied Error When You Make Code Modifications with Index Services Running View products ...
- NSArray使用小结
http://blog.csdn.net/ms2146/article/details/8654263
- redis的特色
总结一下redis的特点: 1.独特的键值对模型 很多数据库只能处理一种数据结构: • SQL 数据库 —— 表格 • Memcached —— 键值对数据库,键和值都是字符串 ...
- Failed to collect certificates from /data/app/vmdl201020547.tmp/base.apk: META-INF/CERT.SF indicates /data/app/vmdl201020547.tmp/base.apk is signed using APK Signature Scheme v2, but no such signature
错误信息: 12-26 11:08:44.809 1501-1535/system_process E/PackageInstaller: Commit of session 201020547 fa ...
- html5画饼形图
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm10.aspx ...