Kafka无法集群外网访问问题解决方法  
讲解本地消费者和生产者无法使用远程Kafka服务器的处理办法

服务搭建好Kafka服务后,机本。测试 OK,外面机器却无法访问,很是怪异。

环境说明:  
Kafka服务器:  
阿里云VPC网络服务器,内网IP:10.10.10.10,绑定的弹性IP(外网IP)XXXX,是单机测试环境,ZK和Kafka都在一台机器上,使用默认端口,kakfa是9092,动物园管理员是2181.kafka版本:kafka_2.11-0.10.1.0

Kafka是默认配置,没有修改:

#listeners=PLAINTEXT://:9092
#advertised.listeners=PLAINTEXT://your.host.name:9092
zookeeper.connect=localhost:2181

测试发现本机,可以正常发布消息,消费消息,但是公司机器不可以。

看日志发现是主机名无法识别,所以最简单的方案就是:  
1,本机绑定主机,即修改/ etc / hosts,添加10.10.10.10主机名到hosts文件。

有没有不需要绑定hosts,更高大上的方案呢?有!  
2,经各种测试后发现,修改kafka的advertised.listeners配置即可:

#listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://x.x.x.x:9092
zookeeper.connect=localhost:2181

成功通过测试,完美解决问题。

关于advertised.listeners这个配置的含义,官网有解释:  
如果不同于上面的监听器,监听器可以发布给ZooKeeper供客户使用。在IaaS环境中,这可能需要与代理绑定的接口不同。如果没有设置,值  listeners 将被使用。  
详情:http//kafka.apache.org/documentation/#configuration

亲测,有了这个配置,Kafka就会忽略听众配置。

http://blog.csdn.net/fengcai19/article/details/54695874?utm_source=itdadao&utm_medium=referral

大数据平台服务器处于两个网络中,其中内部网络用来进行数据交换和计算,配置万兆光纤网卡和光纤交换机;外部网络用来为其他部门提供服务,数据接口,这里使用的是千兆网络.Kafka的经纪人集群处于内部网络中,而外部网络需要订阅消费Kafka中的留数据,就需要访问内网这里我们需要添加接个配置以使Kafka能够通过外网来访问:

我们先来看下Kafka几个参数的解释:

advertised.host.name 主机名发布到ZooKeeper供客户使用。在IaaS环境中,这可能需要与代理绑定的接口不同。如果未设置,则将使用“host.name”的值(如果已配置)。否则,它将使用从java.net.InetAddress.getCanonicalHostName()返回的值。

主机名

经纪人的主机名。如果这个设置,它只会绑定到这个地址。如果没有设置,它将绑定到所有接口

听众

监听器列表 - 用逗号分隔的URI列表及其协议。指定主机名为0.0.0.0以绑定到所有接口。保留主机名为空以绑定到默认界面。合法侦听器列表的示例:PLAINTEXT:// myhost:9092,TRACE://:9091 PLAINTEXT://0.0.0.0:9092,TRACE:// localhost:9093

从官方的解释上,我们可以知道:

1.要使远程客户端和代理通信的时候指向正确的主机那么就需要指定advertised.host.name = bigdata3参数,这里bigdata3需要配置到主机中

2.要使经纪人指向正确的网卡地址,那么我们就需要指定host.name = 192.168.168.3,让代理之间通信使用内部网络

3.另外我们需要配置Kafka监听所有的网卡:listeners= PLAINTEXT://0.0.0.0:9092

http://www.tuicool.com/articles/ye6Bfi

Kafka集群无法外网访问问题解决攻略的更多相关文章

  1. 阿里云搭建hadoop集群服务器,内网、外网访问问题(详解。。。)

    这个问题花费了我将近两天的时间,经过多次试错和尝试,现在想分享给大家来解决此问题避免大家入坑,以前都是在局域网上搭建的hadoop集群,并且是局域网访问的,没遇见此问题. 因为阿里云上搭建的hadoo ...

  2. vsftp FTP服务器外网访问设置

    引用: linux中VSFTP无法从外网访问问题! http://blog.csdn.net/zbulrush/article/details/841978 原文: FTP协议有两种工作方式:PORT ...

  3. 浅入Kubernetes(8):外网访问集群

    目录 查询 Service Service 外部服务类型 配置 ServiceType 伸缩数量 阶段总结 在前面几篇文章中,我们学习了 kubeadm .kubectl 的一些命令,也学会了 Dep ...

  4. 在linux安装redis单机和集群后,如何在windows上使用redis客户端或者java代码访问错误的原因很简单,就是没有连接上redis服务,由于redis采用的安全策略,默认会只准许本地访问。需要通过简单配置,完成允许外网访问。

    这几天在学习在linux上搭建服务器的工作,可谓历经艰辛.可喜最后收获也不少. 这次是在linux上搭建redis服务器后从windows上缺无法访问,连接不上. 仔细回忆以前搭建nginx和ftp的 ...

  5. kafka的advertised.host.name参数 外网访问配置

    kafka的server.properties文件 ```host.name```开始只绑定在了内部IP上,对外网卡无法访问. 把值设置为空的话会kafka监听端口在所有的网卡上绑定.但是在外网访问时 ...

  6. docker kafka 外网访问不到

    linux虚拟机中的kafka docker 容器外网显示: 原因: kafka的外网IP端口配置参数设置错误. 原-->设置了容器的IP端口. 改-->设置宿主机的ip以及宿主机上的端口 ...

  7. kafka集群跨双网段及多网段通信问题解决

    一.问题场景: 实际生产环境总存在很多kafka集群跨网段的问题.kafka集群可能存在多个网卡,对应多个网段.不同网段之间需要同时与集群通信,即跨网段生产消费问题. 二.解决方法:自定义listen ...

  8. Kafka集群部署 (守护进程启动)

    1.Kafka集群部署 1.1集群部署的基本流程 下载安装包.解压安装包.修改配置文件.分发安装包.启动集群 1.2集群部署的基础环境准备 安装前的准备工作(zk集群已经部署完毕)  关闭防火墙 c ...

  9. Kafka 集群搭建 (自用)

    Zookeeper集群搭建 1.软件环境 (3台服务器-测试环境) 192.168.56.9 192.168.56.6 192.168.56.7 1.Linux服务器一台.三台.五台.(2*n+1), ...

随机推荐

  1. python的MetaClass的代码分析。基于廖雪峰博客代码

    # 一张表一个类,表内每一行就是一个实例 ''' 一个单独的元类使用的程序分析. ''' class Field(object): def __init__(self, name, column_ty ...

  2. 如何加入别人的Git项目——Git Fork指南

    如何加入别人的Git项目--Git Fork指南 首先,在网页打开别人Git上的项目,点击右上角的.下图因为Fork过了,所以灰了. 随即弹出如下窗口,当然选择确定. 于是,我们在在自己的项目列表可以 ...

  3. 20155233 2016-2017-2 《Java程序设计》第9周学习总结

    20155233 2016-2017-2 <Java程序设计>第9周学习总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型和自定义枚举 会 ...

  4. 20155321 实验四 Android程序设计

    20155321 实验四 Android程序设计 安装Android studio成功 任务一:Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)( ...

  5. 《Java 程序设计》课堂实践项目-mini dc

    <Java 程序设计>课堂实践项目-后缀表达式 课后学习总结 目录 改变 mini dc实验要求 后缀表达式介绍 课堂实践成果 课后思考 改变 修改了博客整体布局,改变了之前贴个截图粘个代 ...

  6. 程序与程序之间共享对象:MarshalByRefObject

    源自于:http://stackoverflow.com/questions/439173/message-pumps-and-appdomains/442316 程序与程序之间共享对象: Marsh ...

  7. Zabbix学习之路(十)之分布式监控zabbix_proxy及交换机监控

    1.Zabbix分布式监控 zabbix proxy 可以代替 zabbix server 检索客户端的数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix serv ...

  8. pytest使用笔记(三)——pytest+allure+jenkins配置使用

    按照pytest使用笔记(二)把pytest+allure配置好后,现在在jenkins配置好,先实现手动构建(立个小目标) 一,安装jenkins插件 首页->系统管理->插件管理,从“ ...

  9. 近中期3D编程研究目标

    近几年一直在用业余时间研究3D编程,研究的中期目标是建立一个实用的开源3D编程框架.3D编程技术最直接的应用是开发游戏,所以3D编程框架也就是3D游戏开发框架.在我看来,游戏是否好玩的关键是能否为玩家 ...

  10. POJ-2018(二分)

    //意是在一个数组里,寻找一段连续和,使其平均和最大,但是长度不能小于F, //首先可以看出是满足单调性的,但是怎么二分呢, //我们先枚举一个可能的数. //然后数组里的值全部减去这个值(结果会有正 ...