Linux下利用Docker快速部署Kafka

news2024/12/26 10:35:30

1.摘要

在本文中,介绍了利用Docker安装Kafka的基础环境要求; 利用Docker安装zookeeper过程; 利用Docker安装Kafka过程;进入容器配置生产者和消费者过程; 演示生产者和消费者通讯; 故障排查方法。

2.基础环境准备

提前准备一台安装Linux系统的主机或虚拟机,我这里安装的是Ubuntu 22.04.3 LTS版本。

登录到Linux系统输入:docker -v 命令, 如果出现:

Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1

类似于这样的提示信息,说明Docker已安装,如果没有,请输入以下命令安装Docker:

$ sudo apt update
$ sudo apt install docker.io

3.安装zookeeper

在命令行直接输入以下命令,docker会自动拉取对应镜像:

# docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper

拉取过程如图:

4.安装Kafka

在命令行直接输入以下命令,docker会自动拉取对应镜像:

# docker run  -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=[你的IP地址]:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://[你的IP地址]:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

注意, 我的服务器IP是192.168.201.206,所以上面的IP要根据自己的实际情况进行变更,我变更后的命令如下:

# docker run  -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.201.206:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.201.206:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

拉取过程如图:

5.进入容器

Kafka安装完毕后,还要进入到容器中启动生产者和消费者,这样可以验证kafka功能是否正常,顺序执行命令如下:

# docker ps -a                      #查看kafka镜像的容器ID
# docker exec -it 容器ID /bin/sh     #进入到容器内部
# cd /opt/kafka/bin                 # 切到容器内部kafka执行目录下

执行最后的结果如图:

6.启动生产者

在容器里执行以下命令启动生产者:

./kafka-console-producer.sh --broker-list localhost:9092 --topic [你的topic名称]

我这里自己起了一个topic名称,名字为test123, 如图:

产生者脚本启动成功后,会有一个">"提示符。

7.启动消费者

为了看到生产者和消费者之间的消息传递效果,这里需要另开一个终端,按照上面的方法进入容器对应目录,并执行以下命令:

./kafka-console-consumer.sh --bootstrap-server [你的IP地址]:9092 --topic [你的topic名称]

注意,这里有两个变量需要自己调整,一个是IP地址,另一个是上面建立的Topic名称, 我这里填入信息后的完整命令如下:

./kafka-console-consumer.sh --bootstrap-server 192.168.201.206:9092 --topic test123

执行过程如图:

8.生产者与消费者测试

切换到生产者窗口,连续输入一些信息,如图:

再切换回消费者窗口, 正常的话已经可以收到生产者发送的信息了,如图:

9.故障排查

如果在使用Docker过程中遇到任何错误, 可以命令:

docker logs 容器ID

通过查看容器日志进行故障排查,过程如图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1136172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Photoshop使用笔记总目录

Photoshop基础学习之工具学习 一、【Photoshop界面认识】 二、【 Photoshop常用快捷键】 三、【色彩模式与颜色填充】 四、【选区】 五、【视图】 六、【常用工具组】 七、【套索工具组】 八、【快速选择工具组】 九、【裁剪工具组】 十、【图框工具组】 十一、【吸取…

二叉树中的topk问题(带图详解)

🗡CSDN主页:d1ff1cult.🗡 🗡代码云仓库:d1ff1cult.🗡 🗡文章栏目:数据结构专栏🗡 TopK问题 在给定的n的数据中,求出这n个数据中最大的k个数字 TopK的代码&a…

C++通过指针获取类的私有成员

前言 C并没有类似java的反射机制,可以暴力获取类的私有成员。然而C因程序员自行管理内存,所以可以通过指针干任何事情。当然!操作指针是非常危险的,谨慎操作! // dome.cpp : 此文件包含 "main" 函数。程序执…

HackTheBox-Starting Point--Tier 0---Redeemer

文章目录 一 题目二 实验过程 一 题目 Tags Redis、Vulnerability Assessment、Databases、Reconnaissance、Anonymous/Guest Access译文:redis、漏洞评估、数据库、侦察、匿名/访客访问Connect To attack the target machine, you must be on the same network.…

微信智能对话初体验:5分钟搭建免费专属的智能对话机器人

写在前面 投入AI创业几个月了,AI小程序快要上线了,已经在备案审批中,想一起AI搞事情的可以联系我看是否有合作机会。昨天刷X时,看到有人说微信新上线了这个平台:https://chatbot.weixin.qq.com/,赶紧试试&…

VulnHub metasploitable-1

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏…

科技联众,互利共赢 | 卡驰科技(深圳)有限公司CEO张倍铭博士到访拓世科技集团,共探跨境电商,海外拓展无限可能

在创新的浪潮中,人工智能以其强大的能量持续推动着各行各业的进步,拓世科技集团作为人工智能领域的引领者,通过不断合作和交流,与众多领域的佼佼者共同探讨数字时代的无限可能。卡驰科技(深圳)有限公司作为…

跨境商城开发:10个关键步骤带你实现全球销售

在数字化时代,跨境电商成为企业扩大市场规模的重要策略之一。本文将揭示为何跨境商城开发是实现全球销售的绝佳途径,以及为什么你应该专注于跨境商城的开发与建设。 十个必备步骤,助你成功搭建跨境商城 第一步:市场研究与目标定…

pdf转jpg的方法【ps和工具方法】

pdf转jpg的方法: 1.photoshop办法: pdf直接拖入ps中,另存为*.Jpg文件即可 另外注意的时候,有时候别人给你pdf文件中包含你需要的jpg文件,千万不要截图进入ps中,直接把文件拖入ps中,这样的文件…

元宇宙游戏大爆炸,UTONMOS元宇宙游戏成爆品

随着元宇宙概念不断的被深化,目前许多用户群体已经注意到并加入元宇宙领域。而元宇宙比较火的场景有社交、游戏、虚拟会议等,其中元宇宙游戏开发是较火的一个赛道,成为元宇宙从业者们入局的方向。 相比国内其他公司还处于概念阶段&#xff0…

STM32 中断NVIC详解,配置及示例

NVIC全称 Nested Vectored Controller 嵌套向量中断控制器 它是一种硬件设备,用于管理和协调处理器的中断请求。NVIC可以管理多个中断请求,并按优先级处理它们。当一个中断请求到达时,NVIC会确定其优先级并决定是否应该中断当前执行的程序&am…

python自动化测试(二):获取元素定位的基本方式

目录 一、前置代码 二、通过HTML元素ID的方式去进行元素定位 三、通过HTML元素的name属性进行元素定位 四、练习一:打开百度登录界面并输入数据后登录 五、通过HTML元素的类名来进行元素定位 六、通过链接的文本值方式进行元素定位 七、通过部分的链接文本值…

mac电脑怎么永久性彻底删除文件?

Mac老用户都知道在我们查看Mac内存时都会发现有一条“其他文件”占比非常高,它是Mac储存空间中的“其他”数据包含不可移除的移动资源,如,Siri 语音、字体、词典、钥匙串和 CloudKit 数据库、系统无法删除缓存的文件等。这些“其他文件”无用…

如何使用Abaqus进行跌落仿真

跌落测试通常是主要用来模拟产品在搬运期间可能受到的自由跌落,考察产品抗意外冲击的能力。通常跌落高度大都根据产品重量以及可能掉落机率作为参考标准,落下表面应该是混凝土或钢制成的平滑、坚硬的刚性表面(如有特殊要求应以产品规格或客户…

word英文论文检查标点是否正确

背景 英文论文,国内很多都是word模板,我们在搞完文章内容后,往往需要做点关于标点符号的检查。 检查内容 我个人经验来讲,有如下: . 后面有没有加空格,并且下一句话首字母大写。, 后面有没有加空格&…

微信小程序学习

Window导航栏 设置上拉触底的距离 概念:上拉触底是移动端的专有名词,通过手指在屏幕上的上拉滑动操作,从而加载更多数据的行为。 设置步骤: app.json -> window -> 为 onReachBottomDistance 设置新的数值 注意&#xf…

Centos7安装mongodb7.0.2教程以及基础java远程使用

由于项目性能需求,尝试研究mongodb的使用,与mysql的存储和读取性能进行比较。安装完成发现,其批量写入数据功能确实比mysql快,但是读取性能并不如mysql,但是由于其是文件型数据库,可能在内存操作点啥&#…

超声波测距与倒车雷达电路1

文章目录 超声测距 超声测距 超声测距跟倒车雷达绝大多数用的都是40kHz 接受是一个同相比例整流后加上一个比较器 换能器自带滤波,需要激发信号与换能器信号匹配 这个电路图是错的,一直不停的发,底下来不及收 频率越高传输距离…

Pritunl搭建OpenVPN服务器详细流程,快速实现公网远程连接!

文章目录 前言1.环境安装2.开始安装3.访问测试4.创建连接5.局域网测试连接6.安装cpolar7.配置固定公网访问地址8.远程连接测试 前言 Pritunl是一款免费开源的 VPN 平台软件(但使用的不是标准的开源许可证,用户受到很多限制)。这是一种简单有…

mac加速器哪个好用?Mac提升运行速度的十大小技巧

经常听到小伙伴在抱怨PC电脑很慢,但是其实Mac电脑随着用的时间增长,运行速度也会越来越慢,那么造成Mac运行慢的原因有很多,可能是操作系统过时未更新,也可能是内存(RAM)不足,以下小编…