容器环境下IP跨网闸映射kafka部署

2023-05-16

一、 listenersadvertised.listeners

在公司内网部署 kafka 集群只需要用到 listeners,内外网需要作区分时才需要用到advertised.listeners

  • listeners: 学名叫监听器,其实就是告诉外部连接者要通过什么协议访问指定主机名和端口开放的 Kafka 服务。我们要监听的uri的逗号分隔列表和监听器名称。指定hostname为0.0.0.0绑定所有接口。hostname为空以绑定到默认接口(JVM拿到的本机的hostname,java.net.InetAddress.getCanonicalHostName().)。
  • advertised.listeners:和 listener相比多了个advertised。Advertise的含义表示宣称的、公布的,就是组监听器是 Broker 用于对外发布的。会注册到zookeeper中,client真正要访问的地址。 如果没有配置advertised.listeners,此时advertised.listeners默认值等于listeners参数的值,并被发布到zooleeper中,供客户端访问使用。

比如在公司搭建的 kafka 集群,只有内网中的服务可以用,这种情况下,只需要用 listeners 就行;在 docker 中或者 在类似阿里云主机上部署 kafka 集群,这种情况下是需要用到 advertised.listeners

kafka 0.9.x以后的版本新增了advertised.listeners配置 kafka 0.9.x以后的版本不要使用 advertised.host.name 和 advertised.host.port 已经deprecated host.name 和 port 为 deprecated,使用listeners代替。

注意:

  • 如果 advertised.listeners没有设置,则hostname的值会被注册到zookeeper中;
  • 如果 advertised.listeners没有设置,hostname不能为0.0.0.0,否则client通过zk拿到的broker地址就是0.0.0.0;
  • 如果要绑定到所有interface,hostname不设置就可以;
  • 如果hostnameadvertised.listeners都没设置,则注册到zk的就是JVM拿到的本机的hostname;
  • 如果要bind到所有interface,client又能访问,解决的办法是hostname不设置或设置为0.0.0.0,advertised.listeners一定要设置为一个client可以访问的地址,如直接设置ip地址。
#hostname为空
listeners=PLAINTEXT://:9092
zookeeper.connect=10.254.254.5:2181
advertised.listeners=PLAINTEXT://192.168.3.46:9092

二、容器环境下IP跨网闸映射

kafka容器在地点A,平台服务器在地点B,地点A与地点B之间跨网闸。kafka容器ip为192.168.3.46映射到11.55.56.6,平台ip为11.55.56.26。但是发现实际使用中,平台无法消费到kafka的数据,但是能telnet通9092。

根据之间的介绍,kafka的clinet连接broker的过程如下所示:
在这里插入图片描述
在这里插入图片描述

平台可以连接到kafka,但是从kafka获取到的ip为PLAINTEXT://192.168.3.46:9092,为映射前的IP,所以ip映射是失效的。

解决此问题的办法是采用域名的方式:

  • kafka配置文件:
listeners=PLAINTEXT://:9092
zookeeper.connect=10.254.254.5:2181
advertised.listeners=PLAINTEXT://cluster_kafka:9092
  • kafka容器在/etc/hosts增加域名:
192.168.3.46 cluster_kafka
  • 平台容器在/etc/hosts增加域名:
11.55.56.6 cluster_kafka
  • 与Kafka容器同宿主机的容器在/etc/hosts增加域名:
192.168.3.46 cluster_kafka
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

容器环境下IP跨网闸映射kafka部署 的相关文章

  • ubuntu 屏幕缩放调整 终极总结

    1 终端 命令 重置 主题 缩放比例 xff08 手贱把ubutu图标改的很大 xff0c UI显示不出来无法调整 捉鸡 xff09 rm rf config dconf user amp amp reboot 2 xff08 UI 点击设
  • adb push 整个文件夹的内容

    adb push命令的时候 xff0c 有时候需要push某个文件夹下的所有内容到 adb push C xxdir project sdcard xxx
  • 查看某个进程占用空间大小 VmHWM VmRSS终极总结

    cat proc pid status VmPeak 表示进程所占用最大虚拟内存大小 VmSize 表示进程当前虚拟内存大小 VmLck 表示被锁定的内存大小 VmHWM 表示进程所占用物理内存的峰值 VmRSS 表示进程当前占用物理内存的
  • 冯唐成事心法

    刻意练习 动力 43 技巧 43 清晰的目标 魅力值 聊天的框架思维 缺乏目标感 1 状态 感受 2 联想聊天法 3 问对方去聊自己 窗口 信号 她 自己 我们 聊她是为了聊自己 聊自己是 为了聊我们 状态 感受 边聊边感受 1 舒适感 2
  • edge 兼容性问题解决方案

    Edge浏览器出现兼容性问题且所有页面崩溃 xff0c 包括设置均无法打开并访问的解决方法 百度文库
  • 开core信息

    ulimit c unlimited
  • 制定通信协议

    制定通信协议 一 什么是制定通信协议 xff1f 客户端在和服务器进行通信的时候 xff0c 为了让双方都能辨别接收到的消息的内容 xff0c 由发送方和接收方而制定的相关约定 二 为什么制定通信协议 xff1f 在大型的网络游戏中 xff
  • C++ Primer Plus(嵌入式公开课)---1-3章

    1011 C 43 43 Primer Plus 名词解释数值范围 第1章 预备知识1 1 C 43 43 简介1 2 C 43 43 简史1 2 2 C语言编程原理1 2 3 面向对象编程1 2 4 C 43 43 和泛型编程1 2 5
  • Xilinx的Zynq系列,ARM和PL通过DMA通信时如何保证DDR数据的正确性。

    使用ZYNQ或者MPSoC的好处是可以通过PL逻辑设计硬件加速器 xff0c 对功能进行硬件加速 加速器和ARM之间的交互信息一般包含自定义加速指令传递 待计算数据以及计算结果 这三种交互信息为了实现高性能往往需要使用DMA进行通信 考虑两
  • vscode使用clangd开发c++,实现自动补全功能

    安装 在vscode中安装clangd插件 xff0c 如图所示安装插件 xff0c Enable插件clangd xff1b 如果之前安装过C C 43 43 插件的 xff0c 需要将Disable插件C C 43 43 在命令行安装c
  • 串口高波特率下如何稳定接收

    无论是蓝牙 WiFi xff0c 还是4G 5G xff0c 亦或是其它模组 xff0c 都支持AT指令 43 透传模式 AT指令模式下 xff0c 执行查询指令和操作 设置 指令 响应速度快 xff0c 逻辑交互明确 xff0c 不需要复
  • stm32 串口发送多字节数据(结构体版本)

    话不多说先上代码 typedef struct shuju u8 sj0 帧头 u8 sj1 u8 sj2 u8 sj3 u8 sj4 u8 sj5 u8 sj6 u8 sj7 u8 sj8 u8 sj9 帧尾 shuju 实际使用 shu
  • C++ Primer Plus(第六版)读书笔记

    文章目录 C 43 43 Primer Plus xff08 第六版 xff09 第1章 预备知识第2章 开始学习C 43 43 2 1 进入C 43 43 2 2 1 main 指令 2 2 C 43 43 语句2 2 2 赋值语句 第3
  • STM32 (5) 自己写库 构建库函数雏形1 寄存器结构体定义

    前面把基础部分讲得差不多 xff0c 比如说什么是寄存器 xff0c 寄存器映射 xff0c 怎么样来寄存器编程 xff0c 寄存器编程的时候应该参考官方的什么手册 xff0c 前面讲了什么是寄存器 怎么使用寄存器编程 寄存器编程的时候应该
  • 编译器优化对自定义延时程序的影响(volatile详解实验一)

    由此可见 xff08 C语言volatile关键字详解 xff09 xff0c 编译器优化会对自定义延时程序有影响 xff0c 我们深入汇编程序去探讨产生怎样的影响 xff01 首先是未加 volatie 使用和未使用编译器优化汇编程序的对
  • C语言之大小端转换

    include lt stdio h gt unsigned int reverse byte char c char num unsigned int r 61 0 int i for i 61 0 i lt num i 43 43 r
  • 世界坐标系、相机坐标系和图像坐标系的转换

    相机标定笔记 坐标系转换四个不同类型的坐标系1 世界坐标系2 相机坐标系3 图像物理坐标系4 图像像素坐标系 坐标转换世界坐标 相机坐标 xff08 刚性变换 xff09 绕 X X X 旋转
  • 【C++】strpbrk() 字符串检索函数

    strpbrk 字符串检索函数 需要包含头文件 string h xff1b 声明 span class token keyword char span span class token operator span span class t
  • 干货 | 手把手教你搭建一套OpenStack云平台

    1 前言 今天我们为一位朋友搭建一套OpenStack云平台 我们使用Kolla部署stein版本的OpenStack云平台 kolla是用于自动化部署OpenStack的一个项目 xff0c 它基于docker和ansible来实现 xf
  • 完全卸载nginx的详细步骤

    一个执着于技术的公众号 前言 在开局配置Nginx时有可能会配置错误 xff0c 报各种错误代码 看不懂或者懒得去看这个报错时 xff0c 其实最简单的方式是卸载并重装咯 今天就带大家一起学习下 xff0c 如何彻底卸载nginx程序 卸载

随机推荐

  • Windows 11的这19个新功能,你都知道吗?

    参考资料 xff1a https www windowslatest com 2021 10 06 windows 11 new features everything you need to know Windows 11 是 Windo
  • HttpClient 4.3 - 实现HTTP摘要认证(Digest authentication)

    HttpClient 4 实现HTTP摘要认证 HttpClient 4 实现HTTP摘要认证 什么是摘要认证用DefaultHttpClient实现HttpClient 4 3 实现 什么是摘要认证 说到摘要认证 Digest authe
  • 全国DNS服务器IP地址大全、公共DNS大全

    各省公共DNS服务器IP大全 名称各省公共DNS服务器IP大全 114 DNS114 114 114 114114 114 115 115阿里 AliDNS223 5 5 5223 6 6 6百度 BaiduDNS180 76 76 76
  • 如何在CentOS7上禁用或关闭SELinux

    介绍 SELinux 是内置于 Linux 内核中的强制访问控制 MAC 执行器 它限制了可能对系统构成威胁的个别服务的权限 没有 SELinux 的 CentOS 系统依赖于其所有特权软件应用程序的配置 单个错误配置可能会危及整个系统 为
  • 运维常用的 35 个Linux Shell 脚本,一定能帮到你!

    作为一名 Linux 工程师 xff0c 会写好的脚本不仅能提高工作效率 xff0c 还能有更多的时间做自己的事 最近在网上冲浪的时候 xff0c 也注意收集一些大佬写过的脚本 xff0c 汇总整理一下 xff0c 欢迎收藏 xff0c 与
  • 超好用的开源 IP 地址管理系统,告别传统 Excel 统计方式!

    来自 xff1a 释然IT杂谈 一 前言 xff1a 对于运维管理人员 xff0c ip地址进行管理很重要 xff0c 很多公司都是采用电子文档的形式 xff0c 以手工更新为主 xff0c 对ip地址和子网的实际使用情况无法进行有效的实时
  • Linux运维从入门到精通,看这一篇就够了~

    作为一名 Linux 运维工程师 xff0c 总是会有种 书到用时方恨少 的感觉 xff0c 其根本原因还是技能掌握的不够扎实 所以运维朋友一定要多学习 xff0c 提升技能 xff0c 下面分享一份专门针对运维朋友的资料包 xff0c 相
  • K8S CPU 请求和限制,是否有很好的选择?

    Limits 和 Requests 并不是 CPU 管理的灵丹妙药 xff0c 在某些情况下 xff0c 其他替代方案可能是更好的选择 在这篇博文中 xff0c 您将了解到 xff1a CPU requests 如何工作CPU limits
  • 作为一名Linux用户,你得了解这15个工具!

    来源 xff1a 浩道Linux 在普通人眼里 xff0c 使用Linux系统的用户本身已经很有 极客范儿 了 xff0c 但是在技术人员眼中 xff0c 这只是很普通的层级 使用本文推荐的几个Linux系统下的工具 xff0c 能让你瞬间
  • 虚拟网络namespace 到bridge

    前言 容器的网络是一大难点 xff0c 不管是docker 还是kubernetes 都绕不开计算机网络 以下的介绍主要以计算机网络的namespace 和bridge 两个方面来展开介绍 xff0c 方便深入理解容器的网络原理 1 nam
  • 用OpenCV实现目标追踪的八种方法(转)

    原文地址 xff1a http m elecfans com article 722414 html 编者按 xff1a 目标跟踪作为机器学习的一个重要分支 xff0c 加之其在日常生活 军事行动中的广泛应用 xff0c 很多国内外学者都对
  • turbostat超频检测工具

    介绍 turbostat为Intel提供的超频检测工具 xff0c 可以真正在Linux下获取睿频频率的工具 由下可知 xff1a 物理cpu个数为2 xff0c 核心数为14 xff0c 支持超线程 xff0c 逻辑cpu数为56 xff
  • C# HttpClient Digest 摘要认证 Cookie设置

    C HttpClient Digest 摘要认证 Cookie设置 1 创建凭证信息集 2 创建HttpClientHandler 3 创建HttpClient 4 发生请求 span class token comment 创建凭证信息集
  • MongoDB 批量操作(bulkWrite)

    一 概述 mongodb 3 2 版中的新版本提供了db collection bulkWrite 方法提供了执行批量插入 更新和删除操作的能力 mongodb 还支持批量插入 db collection insertMany 1 1 语法
  • Linux动态库的编译与使用(两种方式:链接进可执行程序、动态加载)

    第一步 xff1a 编写Linux程序库 文件1 动态库接口文件 span class token comment 动态库接口文件getmaxlen h span span class token macro property span c
  • ES 索引文档,按_id查找、更新、删除文档

    一 索引 xff08 新建 xff09 文档 通过使用 index API xff0c 文档可以被 索引 存储和使文档可被搜索 但是首先 xff0c 我们要确定文档的位置 正如我们刚刚讨论的 xff0c 一个文档的 index type 和
  • ES排序

    排序 为了按照相关性来排序 xff0c 需要将相关性表示为一个数值 在 Elasticsearch 中 xff0c 相关性得分 由一个浮点数进行表示 xff0c 并在搜索结果中通过 score 参数返回 xff0c 默认排序是 score
  • ES基于completion suggest实现搜索提示

    Term Suggester xff0c 基于编辑距离 xff0c 对analyze过的单个term去提供建议 xff0c 并不会考虑多个term 词组之间的关系 quert gt queryPhrase Suggester xff0c 在
  • 时间间隔宏计算

    对结果按时间间隔分桶 span class token macro property span class token directive keyword define span TIME INTERVAL a b a lt lt 32 4
  • 容器环境下IP跨网闸映射kafka部署

    一 listeners 和 advertised listeners 在公司内网部署 kafka 集群只需要用到 listeners xff0c 内外网需要作区分时才需要用到advertised listeners listeners 学名