window版本下载安装kafka和ZooKeeper并调试

本文档详细介绍了在Windows操作系统中如何安装和配置Zookeeper以及Kafka。首先,从官方网站下载Zookeeper和Kafka的安装包,解压并配置相关环境变量。接着,启动Zookeeper服务,然后配置Kafka的server.properties文件。最后,通过命令行启动Kafka服务,并创建测试主题,使用生产者和消费者进行通信,验证安装是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

kafka要和ZooKeeper、jdk配合使用,所以要先安装jdk和zookeeper

安装 ZooKeeper

1.zookeeper下载地址

https://zookeeper.apache.org/releases.html#download

在这里插入图片描述

2.同版本下有两个下载包,下载红色框标注的包
在这里插入图片描述

3.因为是tar.gz包,所以解压两次如图: 把整个目录拷贝到自己工作的盘符下
在这里插入图片描述
4.打开zookeeper目录,新建两个文件夹 logdata
在这里插入图片描述

5.打开conf文件夹 将“zoo_sample.cfg”重命名为“zoo.cfg”
打开“zoo.cfg”找到并且编辑
dataDir=E:\zookeeper\apache-zookeeper-3.5.9-bin\data
在添加一个日志路径
dataLogDir=E:\zookeeper\apache-zookeeper-3.5.9-bin\log
(注意我的在E盘zookeeper下,路径改成自己的目录)
在这里插入图片描述
6.添加zookeeper到环境变量中
在这里插入图片描述

7.打开cmd,输入 zkServer 运行Zookeeper
在这里插入图片描述
此窗口不要关闭,接下来的kafka需要用到

安装kafka

1.kafka下载地址

https://kafka.apache.org/downloads

在这里插入图片描述
2.下载解压完如图(放到自己工作的盘符目录下,我的在E:kafka下)
在这里插入图片描述
3.进入config目录找到文件server.properties打开,
找到并且修改 log.dirs=E:\kafka\kafka_2.13-2.8.0\logs
4 Zookeeper端口默认2181),kafka文件里面zookeeper的连接设置默认端口也是2181不用修改
Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181
到此kafka安装完毕

5 进入到kafka安装目录 E:\kafka\kafka_2.13-2.8.0 ,然后Shift+鼠标右键,打开Powershell窗口
在这里插入图片描述

6 在窗口输入下面的值启动kafka(zookeeper服务必须启动中,安装zookeeper步骤中有启动步骤)

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

在这里插入图片描述

测试生产者和消费者通信

  1. 创建topictest主题,进入kafka目录 E:\kafka\kafka_2.13-2.8.0,然后 Shift+鼠标右键,打开Powershell窗口 输入如下值:

.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topictest
在这里插入图片描述

目前为止应该有3个命令行窗口
在这里插入图片描述

2.创建生产者,进入kafka目录 E:\kafka\kafka_2.13-2.8.0,然后 Shift+鼠标右键,打开Powershell窗口 输入如下值 并回车:

.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic topictest

3.创建消费者,进入kafka目录 E:\kafka\kafka_2.13-2.8.0,然后 Shift+鼠标右键,打开Powershell窗口 输入如下值 并回车:

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic topictest --from-beginning

4.输入测试英文查看通信,
在生产者(producer.bat)窗口 输入英文值测试,输入完值回车一下,消费者窗口同步出现值
在这里插入图片描述
消费者窗口会出现同样的值,测试OK!
在这里插入图片描述

  1. 窗口解释:现在我们得任务栏有5个窗口,第一个是zookeeper的服务启动,第二个是kafka的服务启动 ,第三个是创建kafka的主题, 第四个是生产者,第五个是消费者

spirngboot集成kafka (请看我的另一篇博客)

https://blog.youkuaiyun.com/zhanghengchao123/article/details/122150066

<think>好的,用户想通过Docker安装KafkaZooKeeper,需要最佳实践教程。首先,我得回忆一下相关步骤,确保流程正确。根据提供的引用,特别是引用2引用3,安装过程大致分为拉取镜像、创建网络、部署ZooKeeper,然后部署Kafka。 首先,用户可能需要知道拉取哪个镜像。引用2提到wurstmeister/zookeeperwurstmeister/kafka,而引用3也用了类似的镜像。所以应该推荐这两个镜像。需要注意版本问题,但用户没指定,所以默认用latest。 接下来是创建网络。引用2中的命令是docker network create --driver bridge zookeeper_network,这样容器可以在同一网络内通信,方便Kafka连接ZooKeeper。 然后部署ZooKeeper。引用3给出了启动命令,比如docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper。可能需要持久化数据,但用户示例中没有挂载目录,所以暂时不提及,或者作为可选步骤? 接下来部署Kafka。根据引用25,Kafka需要连接ZooKeeper,所以启动命令中的环境变量KAFKA_ZOOKEEPER_CONNECT很重要。比如docker run -d --name kafka -p 9092:9092 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 ... wurstmeister/kafka。此外,还需要设置advertised.listeners,让外部客户端能访问,这可能涉及宿主机的IP,用户需要替换成自己的IP地址,比如在环境变量中设置KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://宿主机IP:9092。 测试部分,引用5提到了使用kafka-console-producerconsumer来发送接收消息。需要进入Kafka容器执行这些命令,或者直接docker exec执行。用户可能需要知道如何测试安装是否成功,所以这部分应该包含。 持久化存储方面,引用4提到了创建目录,但用户示例中的安装没有使用挂载,所以可能需要说明如何添加数据卷,比如-v参数挂载到宿主机的目录,避免数据丢失。 高可用的话,可能需要部署ZooKeeper集群,但用户的问题可能只需要单机安装,所以作为可选步骤,或者后续问题提及。 最后,确保步骤清晰,命令正确,用户能一步步操作。同时,根据用户提供的引用,需要正确标注引用来源,比如在步骤中引用对应的引用编号。</think>### 如何通过 Docker 安装 Kafka ZooKeeper? 以下是基于 Docker 安装 Kafka ZooKeeper 的最佳实践步骤: --- #### **1. 拉取镜像** - **ZooKeeper 镜像**: ```bash docker pull zookeeper:latest # 或指定版本,如 zookeeper:3.9.1 [^3] ``` - **Kafka 镜像**: ```bash docker pull wurstmeister/kafka:latest # 推荐使用此社区镜像 [^2] ``` --- #### **2. 创建 Docker 网络** 为 Kafka ZooKeeper 创建专用网络,确保容器间通信: ```bash docker network create --driver bridge kafka_zookeeper_network [^2] ``` --- #### **3. 部署 ZooKeeper** 启动 ZooKeeper 容器(单节点模式): ```bash docker run -d \ --name zookeeper \ --network kafka_zookeeper_network \ -p 2181:2181 \ -t zookeeper:latest [^3] ``` - **参数说明**: - `-p 2181:2181`:将 ZooKeeper 默认端口映射到宿主机。 - `--network`:加入专用网络,使 Kafka 能通过容器名访问 ZooKeeper。 --- #### **4. 部署 Kafka** 启动 Kafka 容器,关联 ZooKeeper: ```bash docker run -d \ --name kafka \ --network kafka_zookeeper_network \ -p 9092:9092 \ -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://<宿主机IP>:9092 \ -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \ wurstmeister/kafka:latest [^5] ``` - **关键环境变量**: - `KAFKA_ZOOKEEPER_CONNECT`:指定 ZooKeeper 地址(通过容器名 `zookeeper` 访问)。 - `KAFKA_ADVERTISED_LISTENERS`:需替换 `<宿主机IP>` 为实际 IP,供外部客户端连接。 --- #### **5. 验证安装** 1. **进入 Kafka 容器**: ```bash docker exec -it kafka /bin/sh ``` 2. **创建测试 Topic**: ```bash kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 ``` 3. **发送消息**: ```bash kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic ``` 4. **接收消息**: ```bash kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning ``` --- #### **6. 可选:持久化配置** - **ZooKeeper 数据目录挂载**: ```bash -v /宿主机目录/zookeeper/data:/data [^4] ``` - **Kafka 数据目录挂载**: ```bash -v /宿主机目录/kafka/data:/var/lib/kafka/data ``` --- #### **7. 高可用配置(可选)** - **ZooKeeper 集群**:部署多个 ZooKeeper 节点,通过 `server.x` 配置集群 。 - **Kafka 集群**:启动多个 Kafka 容器,设置相同网络配置 `KAFKA_BROKER_ID` `KAFKA_ZOOKEEPER_CONNECT`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值