docker安装kafka(M2芯片)

news2024/11/28 14:54:52

背景:想通过kafka做一个需求,之前没有用过,将TXT文件中的数据加载到kafka中,再通过logstash将kafka中的数据加载到es中。

基本操作环境介绍

操作系统苹果M2
kafka镜像版本wurstmeister/kafka
zookeeper镜像版本zookeeper:latest
kafka-ui-lite镜像版本freakchicken/kafka-ui-lite

在网上搜了好多教程,针对M1和M2的太少了,大写的尴尬😓,然后就是将不同的文章进行尝试,试错

在这里插入图片描述

终于尝试成功了,😄

在这里插入图片描述
废话不多说,上干货

第一步:去下载镜像文件,这两个版本是适合M1和M2的

wurstmeister/kafka   //适合M芯片的版本
wurstmeister/zookeeper  //这个版本是不合适M芯片的
zookeeper最新版

docker pull wurstmeister/kafka   //下载命令
docker pull zookeeper
docker pull freakchicken/kafka-ui-lite

第二步:安装zookeeper,kafka是依赖于zookeeper的,首先,先安装zookeeper

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

/etc/localtime:/etc/localtime让docker容器使用主机系统时间(挂载到/etc/localtime)

-p 2181:2181前面的2181表示容器外宿主机的监听端口,后面的2181表示zookeeper 在容器中运行的端口

验证是否安装成功了,docker ps ,查看一下是否有zookeeper的进程在,如下图所示,则表示启动成功了

在这里插入图片描述

第三步:安装kafka,每个参数的意义附在下面了

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

-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己

-e KAFKA_ZOOKEEPER_CONNECT=192.168.85.109:2181/kafka 配置zookeeper管理kafka的路径,192.168.85.109改为你zookeeper部署的实际ip

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.85.109:9092 把kafka的地址端口注册给zookeeper,192.168.101.778改为你kafka部署的实际ip

-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口

-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间

验证kafka是否启动成功了,几种方式可以尝试

docker ps //可以查看是否有kafka的进程
docker logs kafka //可以查看kafka的日志信息

第四步:安装kafka-ui-lite,是kafka比较好用的客户端工具,可以在生产消息、消费消息、管理topic、管理group;可以支持管理多个kafka集群

docker run -d --name kafka-ui-lite -p 8889:8889 freakchicken/kafka-ui-lite

然后去浏览器端去访问:localhost:8889

在这里插入图片描述

点击kafka,点击配置,即可创建一个kafka集群环境

在这里插入图片描述

点击添加环境

在这里插入图片描述

然后就是创建topic了,我是在容器中执行的

docker exec -it kafka /bin/bash    //进入容器的命令

cd /opt/kafka/bin       //进入容器后,进入到这个目录下,都是可执行命令

./kafka-topics.sh --create --zookeeper 192.168.85.109:2181 --replication-factor 1 --partitions 1 --topic test //创建topic的命令

然后去界面上去看集群你创建环境下的topic,发现test已经在下面了

在这里插入图片描述

然后点击操作,分别执行生产和消费,生产和消费展示在不同界面,更容易看出来效果来

在这里插入图片描述

然后在生产的界面,不断的发送消息

在这里插入图片描述

同时,在消费界面,可以看到发送的消息已经进来了

在这里插入图片描述

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

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

相关文章

ERM LABS 与 The Sandbox 战略合作,将真人密室逃脱游戏引进元宇宙

将现实生活中的体验带入一个全新的维度!ERM LABS 专注于将现实生活中的娱乐及冒险体验以游戏独特架构设计扩展到元宇宙裡。与 The Sandbox 合作,该项目旨在为全球合作的真人密室逃脱场所提供无限开放形的线上虚拟世界,让玩家尽情享受考验智商…

【云原生进阶之PaaS中间件】第一章Redis-2.3.2哨兵模式

1 哨兵模式 由于无法进行主动恢复,因此主从模式衍生出了哨兵模式。哨兵模式基于主从复制模式,只是引入了哨兵来监控与自动处理故障。Redis Sentinel是社区版本推出的原生高可用解决方案,Redis Sentinel部署架构主要包括两部分:Red…

OpenAI是什么?

OpenAI是一家人工智能技术公司,成立于2015年,总部位于美国旧金山。它的创始人包括埃隆马斯克等多名知名人士,公司的目标是推进人工智能技术的发展,同时确保人工智能的发展不会对人类造成负面影响。 OpenAI在研究和开发各种人工智能…

Python爬虫进阶(1),Django+Selenium+Mysql+SimpleUI从零搭建自己的爬虫后台,实现可视化监控爬虫内容信息

如果爬虫做完的话都会发现每个文件要么保存到csv或者是其他格式的文件中,这样做多少会有些麻烦,所以需要将这些内容保存起来方便自己管理和查看内容。 相对于flask而言Django有着相对成熟的一个后台管理系统配合上其他一些插件就可以做到即插即用的效果…

MongoDB 查询文档中使用正则选择器($regex)

之前我们介绍过使用文本选择器($text)查询文档,如果您需要进一步了解,可以参考: MongoDB 查询文档中使用文本选择器($text)https://blog.csdn.net/m1729339749/article/details/130605491 本篇…

【计算机组成原理】第六章 总线系统

系列文章目录 第一章 计算系统概论 第二章 运算方法和运算器 第三章 多层次的存储器 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 文章目录 系列文章目录第六章 总线系统6.1 总线的概念和结构形态6.1.1 总线的基本概念6.1.2 总线…

1335. 工作计划的最低难度(DP,leetcode)-------------------c++实现

1335. 工作计划的最低难度&#xff08;DP,leetcode&#xff09;-------------------c实现 题目表述 你需要制定一份 d 天的工作计划表。工作之间存在依赖&#xff0c;要想执行第 i 项工作&#xff0c;你必须完成全部 j 项工作&#xff08; 0 < j < i&#xff09;。 你…

10-01 单元化架构基础

扩展性&#xff08;Scalability&#xff09; 高伸缩性 添加资源就可以应对处理能力需求的增长用户、流量、数据增长&#xff0c;性能指标不下降 度量增加系统处理能力的指标系统性能 延迟&#xff1a;系统处理单词请求所需的时间吞吐量&#xff1a;单位时间内系统处理次数 伸缩…

前端架构师-week6- ejs源码讲解

ejs 源码详解——彻底搞懂模版动态渲染原理 ejs 执行流程 源码实现思路非常有趣&#xff0c;实现难度实现流程不如前几章源码复杂。但是思路完全不同&#xff0c;用了一套新的思路来实现 ejs 模版渲染。重要的是通过这种思路开阔自己的眼界。ejs 的思路在 vue 中也有用到。 核…

分类预测 | Matlab实现CNN-GSSVM卷积神经网络结合网格搜索算法优化支持向量机多特征分类预测

分类预测 | Matlab实现CNN-GSSVM卷积神经网络结合网格搜索算法优化支持向量机多特征分类预测 目录 分类预测 | Matlab实现CNN-GSSVM卷积神经网络结合网格搜索算法优化支持向量机多特征分类预测预测效果基本介绍模型描述程序设计学习总结 预测效果 基本介绍 分类预测 | Matlab实…

如何在多个服务器上安装WordPress分布式部署

许多网络主机现在保证其服务的正常运行时间为 99.9%&#xff0c;但这仍然每年最多有 8.7 小时的停机时间。 许多公司不能够承担这种风险。例如。在超级碗比赛中失败的体育新闻网站可能会失去忠实的追随者。 我们通过设置维护高可用性 WordPress分布式部署配置来帮助 WordPres…

shell脚本之免交互

目录 一 . Here Document 免交互1.1 Here Document概述示例&#xff1a;支持变量替换 二. Expect基本命令: expect直接执行&#xff0c;需要使用 expect 命令去执行脚本嵌入执行模式&#xff0c;将 expect 过程融入 Shell 当中&#xff0c;方便执行和处理。 一 . Here Document…

camunda子流程(Subprocess)如何使用

在 Camunda 中&#xff0c;子流程&#xff08;Subprocess&#xff09;是一种可嵌入到主流程中的小型流程&#xff0c;可以用于处理复杂的业务逻辑&#xff0c;以提高流程的可读性和可维护性。使用子流程的好处包括&#xff1a; 1、分离复杂的业务逻辑&#xff1a;通过将复杂的…

一条查询语句在MySQL的处理过程

例如查询语句&#xff1a; select user_id、username from t_user where username "张三" and sex 1; 其在MySQL的执行流程如下&#xff1a; 客户端发起查询请求&#xff0c;与SQL 接口建立连接&#xff0c;SQL 接口确定用户是否有查询权限&#xff0c;没有权限…

TensorFlow详解4-RNN+LSTM(1)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、背景和知识点深度学习三大模型&#xff1a;RNN的优势&#xff1a; 二、RNN的局限性三、LSTMLSTM三重门机制&#xff1a;LSTM解决梯度消失的主要原理&#x…

Linux--进程信号(pending, block, Handler)集

信号在产生之后&#xff0c;到未被处理的这段时间内&#xff0c;是保存在进程的PCB结构体内的一张位图中的&#xff0c;位图的每个比特位的编号就代表着改信号是否产生&#xff0c;比特位为1表示该信号产生&#xff0c;0表示不存在。 本篇文章就来详细的解答信号在内核中具体的…

数字革命下的产品:百数十年变迁的启示与思考。

随着数字化时代的到来&#xff0c;软件开发成为各行各业不可或缺的一部分。然而&#xff0c;传统的软件开发方法需要长时间的开发周期&#xff0c;高昂的成本和大量的人力资源。因此&#xff0c;低代码开发平台应运而生。低代码开发平台通过简化开发人员的工作和加速软件开发流…

故障分析 | 一条本该记录到慢日志的 SQL 是如何被漏掉的

背景 生产环境中 select count(*) from table 语句执行很慢&#xff0c;已经远超 long_query_time 参数定义的慢查询时间值&#xff0c;但是却没有记录到慢日志中。在测试环境也很容易复现出该问题&#xff0c;慢查询日志确实没有记录 select count(*) 语句。 慢查询相关参数…

数据结构入门-排序

排序的概念及其英语 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的顺序排列起来的操作。稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&a…

【网络】计算机中的网络

目录 &#x1f341;计算机网络 &#x1f341;计算机网络模型 &#x1f341;布线工程 &#x1f341;布线系统 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &#x1f990;专栏地址&#xff1a;网络专栏 计算机网络 计算机网络的功能 数据通信、资源共享、增加可靠性、提…