Zookeeper模式安装Kafka(含常规、容器两种安装方式)
一、#创作灵感#
公司使用Kafka的软件项目较多,故写技术笔记巩固知识要点
二、软件环境
- Kafka 3.9.0 官方下载地址:Kafka 3.9.0
- ZooKeeper 3.9.3 官方下载地址:ZooKeeper 3.9.3
- Docker Desktop 4.37 容器图形化工具 官方下载地址:Docker Desktop 4.37
特别说明
- Docker Desktop仅仅是Windows下镜像用,如有能爬楼的服务器可不安装此软件
- 本文以单机模式为例
三、常规方式安装
非容器化Zookeeper Mode(模式)安装
1、下载zookeeper
参见上面的软件环境章节的下载地址
2、修改zookeeper配置
# zk临时数据目录,根据实际调整
dataDir=/tmp/zookeeper
# 管理端口,如果一台机器只启一个可不配置,启多个要配置每个zk的管理端口要不同
admin.serverPort=8181
3、启动内置/外置zookeeper(二选一)
- 启动内置zookeeper
# Start the ZooKeeper service
$ bin/zookeeper-server-start.sh config/zookeeper.properties
- 启动外置zookeeper
# Start the ZooKeeper service
$ bin/zkServer.sh start
5、下载kafka
下载地址见:软件环境章节
6、修改(zookeeper模式启动)Kafka配置
vi $KAFKA_HOME/config/server.properties
##### 主要配置如下
# ip 端口,根据实际修改
listeners=PLAINTEXT://10.130.***.**:19092
# 日志文件目录
log.dirs=/tmp/kafka-logs
# zookeeper地址
zookeeper.connect=localhost:2181
7、Zookeeper模式启动Kafka
# Start the Kafka broker service
$ bin/kafka-server-start.sh config/server.properties
四、容器方式安装
容器化Zookeeper Mode(模式)安装
内置zookeeper和外置zookeeper二选一
1、容器启动Kafka-内置zk(一体化)方式
- 下载镜像
下载一体化官方镜像
$ docker pull confluentinc/cp-kafka:5.5.0
- dockerfile
dockerfile以开源Confluent Kafka为基顾打一个定制化的镜像
# 使用Kafka官方镜像
FROM confluentinc/cp-kafka:5.5.0# 设置环境变量以启用内置的Zookeeper实例
ENV KAFKA_ZOOKEEPER_CONNECT=localhost:2181
ENV KAFKA_BROKER_ID=1
ENV KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
ENV KAFKA_LISTENERS=INTERNAL://:9092,EXTERNAL://:19092
ENV KAFKA_ADVERTISED_LISTENERS=INTERNAL://kafka:9092,EXTERNAL://localhost:19092
ENV KAFKA_INTER_BROKER_LISTENER_NAME=INTERNAL
ENV KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1# 复制Kafka配置文件
COPY ./config/ /etc/kafka/config/# 复制Zookeeper配置文件
COPY ./zookeeper.properties /etc/kafka/zookeeper.properties# 复制Kafka配置文件
COPY ./server.properties /etc/kafka/server.properties# 设置容器工作目录
WORKDIR /etc/kafka# 暴露Kafka和Zookeeper的端口
EXPOSE 2181 9092 19092# 启动Kafka和Zookeeper
CMD ["start-kafka.sh", "--zookeeper"]
- 使用镜像启动容器
# 假设打好的镜像id是fe7e6a65afa5
docker run \
--name=cp-kafka \
-p 2181:2181 \
-p 9092:9092 \
-p 19092:19092 \
-d fe7e6a65afa5
2、容器启动Kafka-外置zk
- 下载镜像
下载Zookeeper和Kafka两个镜像
$ docker pull wurstmeister/zookeeper:3.9.3
$ docker pull wurstmeister/kafka:3.9.0
- docker-compose.yml
docker-compose编排zookeeper和kafka两个镜像
version: '3'
services:zookeeper:image: wurstmeister/zookeeperports:- "2181:2181"kafka:image: wurstmeister/kafkaports:- "9092:9092"environment:KAFKA_ADVERTISED_HOST_NAME: localhostKAFKA_ZOOKEEPER_CONNECT: zookeeper:2181volumes:- /var/run/docker.sock:/var/run/docker.sock
说明:
这将会启动一个Zookeeper和Kafka的容器实例。确保你已经安装了Docker和Docker Compose。这个配置适用于开发和测试环境,不适合生产环境,因为它将Kafka和Zookeeper暴露到同一个宿主机的端口上,可能会有安全问题
- 使用docker-compose启动容器
docker-compose up -d
五、要点总结
- Zookeeper Mode使用的配置是$KFAKA_HOME/config/server.properties
- Kraft Mode使用的配置是$KFAKA_HOME/config/kraft/server.properties
- Kraft Mode启动见作者的文章:Kraft模式安装Kafka
相关文章:
Zookeeper模式安装Kafka(含常规、容器两种安装方式)
一、#创作灵感# 公司使用Kafka的软件项目较多,故写技术笔记巩固知识要点 二、软件环境 - Kafka 3.9.0 官方下载地址:Kafka 3.9.0 - ZooKeeper 3.9.3 官方下载地址:ZooKeeper 3.9.3 - Docker Desktop 4.37 容器图形化工具 官方下载地址…...
【游戏设计原理】41 - 游戏的核心
1. 如何理解? 这条原理主要在讲述“游戏核心”这一概念的重要性及其在游戏开发中的作用。游戏的核心是指决定游戏整体玩法和体验的核心元素,它通常是游戏的主要机制、目标或动作方式。理解这一原理时,我们可以从以下几个层面来考虑ÿ…...
机器学习算法基础知识1:决策树
机器学习算法基础知识1:决策树 一、本文内容与前置知识点1. 本文内容2. 前置知识点 二、场景描述三、决策树的训练1. 决策树训练方式(1)分类原则-Gini(2)分类原则-entropy(3)加权系数-样本量&am…...
[Qt] 信号和槽(1) | 本质 | 使用 | 自定义
目录 一、信号和槽概述 二、本质 底层实现 1. 函数间的相互调用 2. 类成员中的特殊角色 三、使用 四. 自定义信号和槽 1. 基本语法 (1) 自定义信号函数书写规范 (2) 自定义槽函数书写规范 (3) 发送信号 (4) 示例 A. 示例一 B. 示例二 —— 老师说“上课了”&…...
33. 简易内存池
1、题目描述 ● 请实现一个简易内存池,根据请求命令完成内存分配和释放。 ● 内存池支持两种操作命令,REQUEST和RELEASE,其格式为: ● REQUEST请求的内存大小 表示请求分配指定大小内存,如果分配成功,返回分配到的内存…...
win32汇编环境,对话框程序模版,含文本框与菜单简单功能
;运行效果 ;win32汇编环境,对话框程序模版,含文本框与菜单简单功能 ;直接抄进RadAsm可编译运行。 ;下面为asm文件 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g…...
人工智能与传统编程的主要区别是什么?
传统编程:开发者预先编写软件行为规则,代码基于程序员定义逻辑处理输入并产生确定输出,具有确定性、手动编写规则和结构化逻辑特点,如垃圾邮件分类程序基于预设关键词等规则。AI 编程:从数据中学习而非手动编写规则&am…...
实战交易策略 篇十一:一揽子交易策略
文章目录 系列文章适用条件核心策略小额大量投资行业或主题聚焦同步操作优势系列文章 实战交易策略 篇一:奥利弗瓦莱士短线交易策略 实战交易策略 篇二:杰西利弗莫尔股票大作手操盘术策略 实战交易策略 篇三:333交易策略 实战交易策略 篇四:价值投资交易策略 实战交易策略…...
doris 2.1 -Data Manipulation-Transaction
注意:doris 只能控制读一致性,并不能rollback 1 Explicit and Implicit Transactions 1.1 Explicit Transactions 1.1.1 Explicit transactions require users to actively start, commit transactions. Only insert into values statement is supported in 2.1. BEGIN; …...
多模态融合:阿尔茨海默病检测
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、实验介绍 本实验包含 645 名阿尔茨海默病受试者,分为 AD、CN 和 MCI 组,数据集包含 3D MRI 图像与一份CSV数据,MRI数据…...
Ceph 手动部署(CentOS9)
#Ceph手动部署、CentOS9、squid版本、数字版本19.2.0 #部署服务:块、对象、文件 一、部署前规划 1、兼容性确认 2、资源规划 节点类型节点名称操作系统CPU/内存硬盘网络组件安装集群节点CephAdm01CentOS94U/8GOS:40G,OSD:2*100GIP1:192.169.0.9(管理&集群),IP2:…...
家政预约小程序05活动管理
目录 1 搭建活动管理页面2 搭建活动规则页面3 搭建规则新增页面3 配置规则跳转4 搭建活动参与记录总结 上一篇我们介绍了活动管理的表结构设计,本篇我们介绍一下后台功能。 1 搭建活动管理页面 我们一共搭建了三个表,先搭建主表的后台功能。打开我们的后…...
解决安装pynini和WeTextProcessing报错问题
点击这里,访问博客 0. 背景 最近在给别人有偿部署ASR-LLM-TTS项目时遇到安装pynini和WeTextProcessing依赖报错的问题,报错信息如下: IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files…...
【PCIe 总线及设备入门学习专栏 4.1 -- PCI 总线的地址空间分配】
文章目录 Overview 本文转自:https://blog.chinaaet.com/justlxy/p/5100053219 Overview PCI 总线具有32位数据/地址复用总线,所以其存储地址空间为 2324GB。也就是PCI上的所有设备共同映射到这4GB上,每个PCI设备占用唯一的一段PCI地址&…...
华为配置 之 RIP
简介: RIP(路由信息协议)是一种广泛使用的内部网关协议,基于距离向量算法来决定路径。它通过向全网广播路由控制信息来动态交换网络拓扑信息,从而计算出最佳路由路径。RIP易于配置和理解,非常适用于小型网络…...
探寻AI Agent:开启知识图谱自动生成新篇章(17/30)
一、AI Agent 与知识图谱:智能时代的双雄 在当今科技飞速发展的时代,人工智能如同一股汹涌澎湃的浪潮,正以前所未有的力量重塑着我们的世界。而在这股浪潮中,AI Agent 与知识图谱无疑是两颗最为璀璨的明珠,它们各自发挥…...
卸载wps后word图标没有变成白纸恢复
这几天下载了个wps教育版,后头用完了删了 用习惯的2019图标 给兄弟我干没了??? 其他老哥说什么卸载关联重新下 ,而且还要什么撤销保存原来的备份什么,兄弟也是不得不怂了 后头就发现了这个半宝藏博主&…...
LeetCode 热题 100_二叉树的直径(40_543_简单_C++)(二叉树;递归)
LeetCode 热题 100_二叉树的直径(40_543) 题目描述:输入输出样例:题解:解题思路:思路一(递归): 代码实现代码实现(思路一(递归)&#…...
【数据结构】线性数据结构——链表
1. 定义 链表是一种线性数据结构,由多个节点(Node)组成。每个节点存储数据和指向下一个节点的指针。与数组不同,链表的节点不需要在内存中连续存储。 2. 特点 动态存储: 链表的大小不固定,可以动态增加或…...
开源存储详解-分布式存储与ceph
ceph体系结构 rados:reliable, autonomous, distributed object storage, rados rados采用c开发 对象存储 ceph严格意义讲只提供对象存储能力,ceph的块存储能力实际是基于对象存储库librados的rbd 对象存储特点 对象存储采用put/get/delete…...
从参数化几何到气动分析:OpenVSP航空设计工具深度解析
从参数化几何到气动分析:OpenVSP航空设计工具深度解析 【免费下载链接】OpenVSP A parametric aircraft geometry tool 项目地址: https://gitcode.com/gh_mirrors/ope/OpenVSP 在航空工程领域,如何将概念设计快速转化为可分析的几何模型一直是技…...
BR DI426数字输入模块
B&R DI426 数字输入模块是一款工业自动化系统用的 I/O 模块,主要用于采集现场开关量信号并传输至控制系统。一、基本概述型号:DI426类型:数字输入模块用途:采集工业现场的开关量信号,为控制系统提供输入数据二、主…...
MaxENT模型结果美化不求人:手把手教你用MATLAB自定义ROC与Omission曲线样式(附配色方案)
MaxENT模型结果可视化进阶:MATLAB定制化ROC与Omission曲线全攻略 科研图表的美观程度直接影响论文的发表成功率。许多生态学研究者在使用MaxENT进行物种分布建模时,常对默认生成的HTML报告图表样式感到不满——单调的配色、缺乏细节的线条以及不符合期刊…...
【优化求解】基于matlab粒子群算法面向弹性提升的多种应急资源参与配电网抢修恢复【含Matlab源码 15275期】
💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞Ὁ…...
Stata实操:用GARCH模型预测沪深300波动率,手把手教你从数据清洗到结果解读
Stata金融实战:从沪深300数据到GARCH波动率预测全流程解析 沪深300指数作为中国股市的风向标,其波动率预测对风险管理至关重要。去年一位私募基金研究员曾向我展示过他们的发现:当使用GARCH模型捕捉到波动率聚集特征时,对冲策略的…...
开源音乐解锁工具:浏览器端全平台音频解密解决方案
开源音乐解锁工具:浏览器端全平台音频解密解决方案 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://…...
Phi-4-mini-reasoning vLLM参数详解:context_length=131072配置与性能调优
Phi-4-mini-reasoning vLLM参数详解:context_length131072配置与性能调优 1. 模型概述 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据处理能力。作为Phi-4模型家族的一员,它特别针对数学推理…...
ai辅助开发新体验:在快马平台用对话创建智能天气应用
最近在做一个天气应用的小项目时,遇到了一个很实际的问题:GitHub经常打不开,导致想参考的开源代码库无法访问。这时候,我发现InsCode(快马)平台的AI辅助开发功能简直是个救星,完全改变了我的开发方式。 需求分析阶段 以…...
Midscene.js:重塑UI自动化的革命性AI视觉驱动方案
Midscene.js:重塑UI自动化的革命性AI视觉驱动方案 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 你是否曾为编写复杂的UI自动化脚本而头疼ÿ…...
mT5分类增强版中文-base效果惊艳:同一输入生成‘正式/口语/幽默’三风格文本示例
mT5分类增强版中文-base效果惊艳:同一输入生成‘正式/口语/幽默’三风格文本示例 1. 模型介绍:零样本学习的文本增强利器 mT5分类增强版中文-base是一个基于mT5架构的文本增强模型,专门针对中文场景进行了深度优化。这个模型最大的特点是采…...
