Docker自定义network搭建kafka

2023-11-09

         昨天在搞spring-cloud-bus 想到用kafka实现消息总线,然后就用docker起了一个zookeeper和kafka,本人docker版本是17.06,采用机器是Ubuntu18版本,详细安装kafka的过程如下。

1.docker  search kafka  我们选择星星最多的 wurstmeister/kafka

2. 下载zookeeper和kafka的镜像

docker pull wurstmeister/zookeeper

docker pull wurstmeister/kafka

3.两个镜像下载好以后,我们给它重命名,方便操作。

a)镜像重命名 docker tag [oldName]:[tag] [newName]:[tag]

docker tag wurstmeister/zookeeper:latest zookeeper latest

docker tag wurstmeister/kafka:latest kafka latest

b)镜像的映射tag 删除 docker rmi -f [Name]:[Tag]

这里我们删除旧版的镜像。

docker rmi -f  wurstmeister/zookeeper:latest

docker rmi -f  wurstmeister/kafka:latest

4.由于kafka要和zookeeper相互通信,这里我们自己搭建一个bridge网络

docker network create app

5.查看新建的网络

docker  network list

 app是我们刚刚创建的network   其中bridge,host,none是默认的。

6.查看网络的详细信息

docker network inspect app

其中Containers中有两个容器,zookeeper和kafka,这个是我搭建完毕以后加入的,新创建的名字叫app的network中的Containers为空 

7.启动zookeeper  --net=app 指定加入自定的app网络 -v挂在docker容器的zookeeper文件到 zoolog -t可以替换为-d 这样如果看log的话 还需要 docker logs zookeeper

docker run --net=app --name zookeeper -p 2181:2181 -v /home/qiwenshuai/kafka/zoolog:/opt/zookeeper/data -t zookeeper

8. 启动kafka 指定network网络, 注册到zookeeper, 注意加入同一网络的容器,自己嵌套一个DNS解析,可以解析到其他容器,并且端口全部相互暴露。

docker run --net=app --name kafka -p 9092:9092 \

--link zookeeper \

--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \

--env KAFKA_ADVERTISED_HOST_NAME=127.0.0.1 \

--env KAFKA_ADVERTISED_PORT=9092 \

-t kafka

9.测试---进入kafka内部,自定义生产者和消费者进行测试

docker exec -it kafka /bin/bash

 a)kafka在opt 目录下

cd /opt/kafka_2.12-0.11.0.1/

b)调用kafka-topics.sh创建一个mykafka的topic

bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka

c)调用kafka-console-producer.sh运行一个生产者

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka

d)启动另一个窗口,按照上边的步骤启动kafka容器的命令行,执行如下消费者命令

bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic mykafka --from-beginning

在生产者窗口发送一条命令,查看消费者端口是否接到命令一些命令

10 附录一些kafka查看命令

a)查看kafka topic列表,使用--list参数

bin/kafka-topics.sh --zookeeper zookeeper:2181 --list

b)查看kafka特定topic的详情,使用--topic与--describe参数

bin/kafka-topics.sh --zookeeper zookeeper:2181 --topic mykafka --describe

c)查看consumer group列表,使用--list参数

bin/kafka-consumer-groups.sh --zookeeper zookeeper:2181 --list

d)查看特定consumer group 详情,使用--group与--describe参数

bin/kafka-consumer-groups.sh --zookeeper zookeeper:2181 --group console-consumer-15480 --describe

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker自定义network搭建kafka 的相关文章

随机推荐

  • centos7 keepalived 离线安装

    两台服务器 master 10 214 130 100 slave 10 214 130 101 vip keepalived虚拟ip 10 214 130 102 1 下载 登陆官网 http www keepalived org dow
  • IDEA Maven 依赖分析插件Maven Helper

    IDEA 安装Maven Helper插件 1 打开setting 找到Plugins选项 安装Maven Helper 插件 如果有就跳过这一步 检索 Maven Helper 安装成功后 重新启动IDEA编辑器 2 使用Maven He
  • java 将pdf转word

    可以使用 Apache POI 库来实现将 PDF 转换为 Word 文档的功能 首先 需要将 Apache POI 库的依赖添加到项目中
  • 推荐几个很实用的编程网站

    目录 一 W3School 二 LeetCode 三 PythonTip 四 Codewars 五 Code Monkey 本文精选了有关代码 编程 Java Python SQL Git 和Ruby on Rails学习的网站 这些网站为
  • mac扩展屏,HIDPI

    2k 4k 均可开启 HIDPI
  • java.lang.RuntimeException: Canvas: trying to draw too large(277114284bytes) bitmap.

    java lang RuntimeException Canvas trying to draw too large 277114284bytes bitmap 今天运行一个小项目报错 E AndroidRuntime FATAL EXCE
  • 【PCL】得到一个点云中的最高值、最低值

    有一个点云 想得到它x y z三个轴上的最大值和最小值 可以用pcl getMinMax3D函数 在这儿 函数参数 1 点云 2 放最小值的容器 3 放最大值的容器 容器类型是点云中点的类型 正好有三个值 代码 Created by eth
  • 分布式事务-LCN

    2PC两阶段提交协议 分布式事务通常采用2PC协议 全称Two Phase Commitment Protocol 该协议主要为了解决在分布式数据库场景下 所有节点间数据一致性的问题 分布式事务通过2PC协议将提交分成两个阶段 阶段一为准备
  • 4. Redis高并发分布式锁实战---大厂生产级Redis高并发分布式锁实战

    分布式缓存技术Redis 1 手写分布式锁 2 Redis Lua 3 Redisson 4 redis分布式锁在集群中存在的问题 本文是按照自己的理解进行笔记总结 如有不正确的地方 还望大佬多多指点纠正 勿喷 课程内容 1 高并发场景秒杀
  • Elasticsearch 在kibana中对索引名称进行重命名

    问题 在实际的工作中 遇到已经将数据写入es 但是后边需要对这个索引进行重命名 如 test 20190122 test 20190121 需要重命名为test 2019 对于数据量比较少时 创建多个索引 需要创建多个分片 造成存储资源的浪
  • 正则表达式——Pattern.DOTALL

    项目测试过程中 测试发现短信内容无法正常解析成2个部分 代码如下 public static void main String args String testStr 13800000000 孔雀东南飞 五里一徘徊 n 十三能织素 十四学裁
  • 行式数据库与列式数据库的对比

    导语 随着大数据的发展 现在出现的列式存储和列式数据库 它与传统的行式数据库有很大区别的 正文 行式数据库是按照行存储的 行式数据库擅长随机读操作不适合用于大数据 像SQL server Oracle mysql等传统的是属于行式数据库范畴
  • C语言在控制台上实现鼠标操作的方法

    文章目录 了解windows库函数 了解句柄 实现思路与代码 在制作面向用户系统时 我们往往需要设置除输入参数外更为灵活的操作方式 例如鼠标点击 按键按下 无阻塞输入 等 同时 我们需要制作更为精美的 UI而不是简陋的黑白界面 然而 纯C语
  • 解决docker下nginx的多个站点互通问题

    系统为MAC 环境为docker mysql php nginx 问题描述 1 调试本地接口 方式为curl 请求 返回拒绝 业务上通过curl访问报错 Couldn t connect to server Failed to connec
  • git bash配置ssh 登录 Linux

    1 首先在 Linux 服务器上生成公钥和私钥文件 默认的存放目录在 ssh下 ssh keygen 可以将密码留空 这样之后就可以免密码登录 2 将私钥文件拷贝到本机 scp root 192 168 1 168 root ssh id
  • Ubuntu安装Protobuf,指定版本

    参考 https github com protocolbuffers protobuf readme https github com protocolbuffers protobuf blob v3 20 3 src README md
  • VirtualBox+WinDbg+Win7调试环境配置

    VirtualBox WinDbg Win7调试环境配置 火苗999 的博客 1 配置虚拟机串口如图 勾选启用串口 gt 端口选择COM1 gt 端口模式选择主机管道 gt 勾选创建管道 gt 端口文件位置输入 pipe com1 2 配置
  • 极简光线追踪入门

    阅读本文不需要任何图形学基础 这里抛砖引玉 希望勾起读者对光线追踪的兴趣 前言 光线追踪原理简单 并且可以抛开图形学的一堆理论 单独提出来讲 本文不需要任何图形学基础 看完本文后 将能够实现以下效果 图1 光线追踪效果 原理 光线追踪算法由
  • linux文件夹大小4096,Linux文件系统之文件、分区大小限制

    各种文件系统的限制 NTFS Windows 支持最大分区2TB 最大文件2TB FAT16 Windows 支持最大分区2GB 最大文件2GB FAT32 Windows 支持最大分区128GB 如果使用磁盘管理进行分区 最大为32GB
  • Docker自定义network搭建kafka

    昨天在搞spring cloud bus 想到用kafka实现消息总线 然后就用docker起了一个zookeeper和kafka 本人docker版本是17 06 采用机器是Ubuntu18版本 详细安装kafka的过程如下 1 dock