Windows系统下使用Kafka和Zookeeper,Python运行kafka(二)

1.配置 Zookeeper

进入解压后的 Zookeeper 目录(例如 F:\zookeeper\conf),复制 zoo_sample.cfg 文件并命名为 zoo.cfg(如果 zoo.cfg 已经存在,则直接编辑该文件)。
打开 zoo.cfg 文件,配置相关参数:

# 数据存储目录
dataDir=F:/zookeeper/data
# 日志存储目录
dataLogDir=F:/zookeeper/logs
# 客户端连接端口,默认 2181
clientPort=2181
# 初始化领导者选举和同步的配置,一般保持默认即可
initLimit=5
syncLimit=2
# 配置 Zookeeper 集群(单机模式下无需配置)
# server.1=localhost:2888:3888

确保 dataDirdataLogDir 目录存在,如果不存在则手动创建。
在这里插入图片描述
可以看到有dataDir
在这里插入图片描述
只改了这个地方
在这里插入图片描述
与此同时,创建文件夹

2.启动 Zookeeper

进入 Zookeeper 的 bin 目录(例如 F:\zookeeper\bin),打开命令提示符,执行以下命令启动 Zookeeper:

.\zkServer.cmd

如果启动成功,会看到类似以下的日志信息:
在这里插入图片描述

3.配置 Kafka 使用外部 Zookeeper

打开 Kafka 的配置文件 config/server.properties,修改 zookeeper.connect 参数,指定自己的 Zookeeper 地址和端口:

zookeeper.connect=localhost:2181

这里的 localhost:2181 是 Zookeeper 的默认地址和端口,如果你的 Zookeeper 配置了其他地址或端口,则需要相应修改。

4.启动 Kafka

进入 Kafka 的目录,执行以下命令启动 Kafka

.\bin\windows\kafka-server-start.bat .\config\server.properties

5.安装Kafka插件

在这里插入图片描述
安装完成点击这个kafka插件
在这里插入图片描述
在这里插入图片描述
如果没有topic主题是连接不了的
使用以下代码创建一个名为testtopic主题,3个分区,2个副本,前提是先启动 ZookeeperKafka

from kafka.admin import KafkaAdminClient, NewTopic
from kafka.errors import TopicAlreadyExistsError# 配置 Kafka 服务器地址
bootstrap_servers = ['localhost:9092']# 创建 Kafka 管理客户端实例
admin_client = KafkaAdminClient(bootstrap_servers=bootstrap_servers)# 要创建的主题信息
topic_name = 'test'
num_partitions = 3  # 分区数量
replication_factor = 1  # 副本因子,调整为不超过可用 Broker 数量try:# 创建新主题topic = NewTopic(name=topic_name, num_partitions=num_partitions, replication_factor=replication_factor)admin_client.create_topics([topic])print(f"主题 {topic_name} 创建成功,分区数: {num_partitions},副本因子: {replication_factor}")
except TopicAlreadyExistsError:print(f"主题 {topic_name} 已存在,无需再次创建")
except Exception as e:print(f"创建主题 {topic_name} 时出错: {e}")
finally:# 关闭管理客户端admin_client.close()

在这里插入图片描述

有了一个test主题,就可以连接了
在这里插入图片描述

接下来发送1000条消息

for i in range(1000):message = f"message{i+1}"# 发送消息future = producer.send(topic, message)

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Web 自动化之 HTML JavaScript 详解

文章目录 一、HTML 常用标签二、javascript 脚本1、什么是 javascript(js)2、 js变量和函数3、js 弹窗处理4、js 流程控制语句和 switch 结构语句应用 一、HTML 常用标签 HTML:超文本标记语言 超文本:不仅只包含文字,还有超链接、视频…这些…

el-date-picker的type为daterange时仅对开始日期做限制

文章目录 前言绣球html代码一、正确代码二、错误代码 前言绣球 需求是这样的,开始日期需要限制只能选择今天的日期,结束日期只能选择今天之后的日期。结束日期很常见,但是单纯限制开始日期,还是蛮少见的,尤其是datera…

观测云:安全、可信赖的监控观测云服务

引言 近日,“TikTok 遭欧盟隐私监管机构调查并处以 5.3 亿欧元”一案,再次引发行业内对数据合规等话题的热议。据了解,仅 2023 年一年就产生了超过 20 亿美元的 GDPR 罚单。这凸显了在全球化背景下,企业在数据隐私保护方面所面临…

认识中间件-以及两个简单的示例

认识中间件-以及两个简单的示例 什么是中间件一个响应处理中间件老朋友 nest g如何使用为某个module引入全局引入编写逻辑一个日志中间件nest g mi 生成引入思考代码进度什么是中间件 官方文档 中间件是在路由处理程序之前调用的函数。中间件函数可以访问请求和响应对象,以及…

基于Flask、Bootstrap及深度学习的水库智能监测分析平台

基于Flask、Bootstrap及深度学习的水库智能监测分析平台 项目介绍 本项目是基于Flask框架构建的水库智能监测分析平台,集水库数据管理、实时监测预警、可视化分析和智能预测功能于一体。 预测水位的预警级别:蓝色预警没有超过正常水位且接近正常水位1米…

springboot生成二维码到海报模板上

springboot生成二维码到海报模板上 QRCodeController package com.ruoyi.web.controller.app;import com.google.zxing.WriterException; import com.ruoyi.app.domain.Opportunity; import com.ruoyi.app.tool.QRCodeGenerator; import com.ruoyi.common.core.page.TableDat…

如何使用极狐GitLab 软件包仓库功能托管 maven?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 软件包库中的 Maven 包 (BASIC ALL) 在项目的软件包库中发布 Maven 产物。然后,在需要将它们用作依赖项时安装它…

企业如何将钉钉付款单高效集成到金蝶云星空?

钉钉数据集成到金蝶云星空:修改下推的付款单③ 在企业信息化系统中,数据的高效流转和准确对接是实现业务流程自动化的关键。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将钉钉中的付款单数据无缝集成到金蝶云星空系…

python 实现文件批量重命名

以下是使用Python实现文件批量重命名的示例代码。该代码可以将指定目录下的文件按照一定规则进行重命名,这里以将文件重命名为带有编号的文件名为例: import osdef batch_rename(directory):if not os.path.isdir(directory):print(

Pandas学习笔记(四)

DataFrame对象 文章目录 DataFrame对象导入本文需要的包DataFrame与Series的相似之处使用read_csv函数导入DataFrameSeries和DataFrame的共享与专有属性Series和DataFrame的共有方法 对DataFrame进行排序按照单列进行排序按照多列进行排序按照索引进行排序对列索引进行排序 设置…

DA14585墨水屏学习(2)

一、user_svc2_wr_ind_handler函数 void user_svc2_wr_ind_handler(ke_msg_id_t const msgid,struct custs1_val_write_ind const *param,ke_task_id_t const dest_id,ke_task_id_t const src_id) {// sprintf(buf2,"HEX %d :",param->length);arch_printf("…

树莓派5+Ubuntu24.04 LTS串口通信 保姆级教程

【背景】 各位,除了树莓派4B之外,我又搞了个树莓派5, 装的也是Ubuntu24.04 LTS服务器版。装系统的方法跟树莓派4B一样,没什么好说的。装完了系统之后,我就想装个wiringPi来试试串口,却发现这个树莓派5的串口和树莓派4…

【QT】UDP通讯本地调试

qt已经写好了udp通讯代码,现在要进行测试。 1、终端输入ipconfig查看本机网卡的ipv4地址 2、 用udpBind函数,绑定到此ip和自定义的端口号。 3、 打开网络调试助手,自动检测到本机的ip地址,输入任意一个和程序里不一样的端口号。 …

在 Elasticsearch 中连接两个索引

作者:来自 Elastic Kofi Bartlett 解释如何使用 terms query 和 enrich processor 来连接 Elasticsearch 中的两个索引。 更多有关连接两个索引的查询,请参阅文章 “Elastic:开发者上手指南” 中的 “丰富数据及 lookup” 章节。 Elasticsea…

LabVIEW的PID参数自适应控制

在工业控制领域,PID 控制凭借结构简单、稳定性好、工作可靠等优点被广泛应用。然而,传统固定参数的 PID 控制在面对复杂多变的工况时,控制效果往往难以达到最优。基于 LabVIEW 实现 PID 控制根据情况选择参数(即参数自适应调整&am…

[redis进阶四]分布式系统之哨兵(2)

目录 一 利用docker搭建环境 板书: 一)准备⼯作: 板书: 解读docker配置文件: 1)安装docker和docker-compose 2) 停⽌之前的redis-server 3) 使⽤docker获取redis镜像 二)编排redis主从节点 板书:​编辑 1) 编写docker-compose.yml 2) 启动所有容器 3) 查看运⾏⽇志 …

spark-Schema 定义字段强类型和弱类型

在数据处理和存储中,Schema(模式)定义了数据的结构和字段属性,其中字段的强类型和弱类型是重要的概念,直接影响数据的验证、存储和处理方式。以下是详细解释: 1. 强类型(Strongly Typed&#x…

2024睿抗编程赛国赛-题解

2024睿抗编程赛国赛题解 RC-u1 大家一起查作弊 题目重述 我们需要从给定的多行字符串中提取出所有的关键词,并计算这些关键词的可疑分数总和、总长度以及关键词的数量。具体步骤如下: 关键词定义:由大写字母、小写字母、数字组成的字符串&a…

控制LED灯设备

本章分别使用C库和系统调用的文件操作方式控制开发板的LED灯,展示如何在应用层通过系统提供的设备文件控制相关硬件。 本章的示例代码目录为:base_code/linux_app/led/sys_class_leds。 9.1. LED子系统 在Linux系统中,绝大多数硬件设备都有…

SpringBoot学习(上) , SpringBoot项目的创建(IDEA2024版本)

目录 1. SpringBoot介绍 SpringBoot特点 2. SpringBoot入门 2.1 创建SpringBoot项目 Spring Initialize 第一步: 选择创建项目 第二步: 选择起步依赖 第三步: 查看启动类 2.2 springboot父项目 2.3 测试案例 2.3.1 数据库 2.3.2 生成代码 1. SpringBoot介绍 Spring B…