Kafka集群无法外网访问问题解决攻略
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
转载于:https://www.cnblogs.com/justuntil/p/8037969.html
Kafka集群无法外网访问问题解决攻略相关推荐
- kafka集群如何内外网均可访问
有3台kafka集群broker,以下ip地址均属杜撰,仅仅做举例用 hostname 内网ip 外网Ip kafka1 10.0.0.1 139.0.0.1 kafka2 10.0.0.2 139. ...
- jellyfin使用ipv6+DDNS实现外网访问
前言 原本使用frp的方案进行外网访问jellyfin,但是阿里云的轻量服务器的带宽只有5M,只能支持看1080p的视频,看4K有点吃力,为了有更好的观影体验,选择ipv6+DDNS的方式实现外网访问 ...
- 使用跳板机实现外网访问局域网内虚拟机的大数据及K8S集群【借助向日葵】
使用跳板机实现外网访问局域网内虚拟机的大数据及K8S集群[借助向日葵] 前言 笔者作为一杆大数据学徒工,工作和学习中都需要有几套属于自己的集群. 双路e5主机:https://lizhiyong.bl ...
- 在群晖NAS上搭建WordPress动态网站并实现外网访问
目录 一.安装套件 1. 安装Web Station套件 2. 安装MariaDB 10数据库套件 3.安装服务套件 4.我为什么要用WordPress? 5.建站的其它方法 二.访问WordPres ...
- 【NAS】群晖使用自带DDNS实现外网访问
NAS设备如果需要实现外网访问,必须穿透到内网才可以.主流的内网穿透大致分为以下几种: 群晖家自带的QuickConnect: 各种DDNS(阿里云.花生壳): frp.nps.ngrok等搭建的穿透 ...
- 群晖NAS配置DNSPodDDNS实现外网访问(仅适用于阿里云域名)
创作立场声明:本文只是单纯的经验分享,没有任何恰饭行为!转载前请联系作者授权,并附上此文章链接! 前言 本文将详解如何使用群晖NAS自带的DDNS功能来实现腾讯云DNSPod动态域名解析. 设置你的域 ...
- 群晖Docker配置阿里云国际域名DDNS实现外网访问
本文同步发布于个人博客 前置条件 域名是在阿里云购买的,或者域名托管在阿里云 (我的域名本身就是阿里云买的,其他的域名我没有测试过) 地址必须是公网地址,不然加了解析也没有用 (这个不用多加解释了), ...
- 外网访问群晖NAS VMM搭建Openwrt的admin界面
偶然在网上看到很多的帖子使用群晖搭建openwrt搭建旁路由,心血来潮体验了一把,记录一下自己的搭建的整个过程,并最终实现外网访问Openwrt的admin界面. 本人使用的群晖nas DS220+, ...
- 群晖DSM7.0设置群晖NAS域名外网访问
群晖DSM7.0设置群晖NAS域名外网访问 一.在DnsPod上创建ID和Token 访问https://console.dnspod.cn/登陆自己的控制台,然后选择安全设置. 选择左边的访问密钥, ...
最新文章
- python工程~多个python文件如何运行
- $router VS $route
- Petapoco使用SQLite的异常问题
- OpenCL用于计算机领域的13个经典案例
- 假期怎么提升 Python 技能?100+ 编程题给你练~(附答案)
- CodeMirror 多功能在线代码编辑器
- 3.7-php连接MongoDB
- 学习Linux的七点忠告
- 深入浅出mfc之6大技术 运行时类型识别 DCLARE_DYNCREATE、DECLARE_DYNAMIC 、DECLARE_SERIAL、RUNTIME_CLASS、DECLARE_SERIAL 等
- IIS 7 配置备份和还原
- python 豆瓣电影top250_「豆瓣电影top250」豆瓣电影TOP250抓取 - seo实验室
- java编译器哪个好_java编译器什么好?java编译器工作原理是什么?
- FTP超详解及搭建步骤
- 如何设计一个优惠券系统
- rtl8211 smi读取_RTL8211E应用(二)之信号输入、输出接口
- excel多列多行堆叠成多列一行_如何将多行多列数据转置成列-Excel中如何将多行多列数据转置成列...
- android手机wifi快的办法,手机wifi如何设置网速变快(这样设置网速瞬间堪比5G)...
- 爬去微信小程序服务器代码,微信小程序反编译及源码抓取(2021最新)
- js 前端导出报错 格式不正确_vue项目前端导出word文件(bug解决)
- 七年级计算机教案模板范文,七年级信息技术论文大纲模板 七年级信息技术论文提纲怎样写...