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…...
初次使用Taotoken从注册获取Key到完成第一次API调用的全流程指引
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初次使用Taotoken从注册获取Key到完成第一次API调用的全流程指引 本文旨在为初次接触Taotoken平台的开发者提供一份清晰的入门指南…...
别再只用BLAST了!试试MAFFT+HMMER这套组合拳,挖掘基因家族新成员更精准
基因家族分析进阶指南:MAFFT与HMMER的高效组合策略 在基因组学研究领域,识别基因家族成员是一项基础而关键的工作。传统方法如BLAST虽然广为人知,但在面对远缘同源基因或高度分化的基因家族时,其灵敏度往往不尽如人意。这时&#…...
如何高效实现30+输入法词库互转:一站式智能转换方案解放生产力
如何高效实现30输入法词库互转:一站式智能转换方案解放生产力 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾因更换输入法而不得不放弃多年积累…...
基于Unity的地牢游戏开发
1.数字字符串转数字System.Globalization.NumberStyles hexNum; // 专门的枚举成员,解析16进制字符串 hexNum System.Globalization.NumberStyles.HexNumber;int.Parse(tileNums[i], hexNum);2.注意:文件读取是从上到下,而 Unity y轴 …...
3个实战技巧高效提取抖音1080P视频封面:自媒体素材管理效率提升90%
3个实战技巧高效提取抖音1080P视频封面:自媒体素材管理效率提升90% 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fa…...
互联网大厂 Java 求职面试全景:从音视频场景到微服务架构的深入探讨
互联网大厂 Java 求职面试全景:从音视频场景到微服务架构的深入探讨 在互联网大厂的招聘中,Java 开发者的面试不仅技术含量高,还充满了戏剧性。今天,我们将通过一位求职者燕双非与面试官的对话,带你走进这个复杂而有趣…...
智能电视网页浏览新选择:TV Bro浏览器如何改变你的大屏体验
智能电视网页浏览新选择:TV Bro浏览器如何改变你的大屏体验 【免费下载链接】tv-bro Simple web browser for android optimized to use with TV remote 项目地址: https://gitcode.com/gh_mirrors/tv/tv-bro 你是否曾在智能电视上尝试浏览网页,却…...
VPU与NPU协同优化:边缘AI视觉处理的算力融合实践
1. 项目概述:边缘计算时代的算力融合新范式最近和几个做嵌入式AI和边缘设备的老朋友聊天,大家不约而同地都在讨论一个话题:在资源受限的边缘端,如何把有限的算力“榨干”,让模型跑得更快、更省电。聊着聊着,…...
Android WebView进阶:从基础API到AndroidX WebKit实战解析
1. WebView基础:从调试到交互全解析 第一次接触WebView时,我完全被这个"浏览器套娃"搞懵了。直到踩了无数坑才发现,掌握这几个核心API就像拿到了打开混合开发大门的钥匙。调试模式绝对是开发者的第一道救命符 - 在Chrome地址栏输入…...
用STM32F103C8T6做个触摸感应示波器?手把手教你ADC采集+OLED波形显示(附完整代码)
用STM32F103C8T6打造触摸感应示波器:从ADC采集到OLED波形显示的趣味实践 在嵌入式开发领域,将枯燥的技术参数转化为可视化的交互体验,往往能激发学习者的深层兴趣。今天我们要实现的,不仅是一个简单的信号采集系统,而是…...
